第二百四十三回 再分享一个Json工具

news2024/9/29 1:20:08

文章目录

  • 1. 概念介绍
  • 2. 分析与比较
    • 2.1 分析问题
    • 2.2 比较差异
  • 3. 使用方法
  • 4. 内容总结

我们在上一章回中介绍了"分享三个使用TextField的细节"相关的内容,本章回中将再 分享一个Json插件.闲话休提,让我们一起Talk Flutter吧。

1. 概念介绍

我们在GunTools专栏中分享过一个Json插件:FlutterJsonBeanFactory,该插件可以自动把JSON字符串转换成dart语言编写的数据模型类。本章回中将再分享一个Json插件:JsonToDart,它也可以自动把JSON字符串转换成dart语言编写的数据模型类,不过功能上有一些差异,本章回中将详细介绍该插件的用法。

2. 分析与比较

2.1 分析问题

我们在之前的博客中分享的插件FlutterJsonBeanFactory.这个插件使用很方便,不过我最近在使用过程上发现了错误。我们先来看一下问题:

正常情况下该插件会在lib/generated/目录下生成json/base/xxx.dart文件,详细如下图所示:

在这里插入图片描述

发生错误时不能自动生成这些文件,而且IDE会提示错误。

在这里插入图片描述

我开始以为是偶然性的错误,重新启动IDE后也不能解决,后来更新了插件,仍然不能解决此问题。后来到官方网站查看后发现这是已知的问题,通过清除IDE的缓冲可以解决此问题。详细如下图所示:

If "No classes that inherit JsonConvert were found" is displayed, delete the ". Idea "directory under the project and click" invalidate Caches"in your (Andorid Studio or IDEA) button to restart the IDE

在这里插入图片描述

我没有清除缓冲,因为缓冲在很多的设置,所以重新找了一个JSON插件。

2.2 比较差异

我新找的JSON插件叫JsonToDart,在IDE中安装后重启IDE就可以使用。该插件可以完全取代FlutterJsonBeanFactory,而且它不会在lib/generated目录下生成其它的文件,我们将在后面的小节中介绍该插件的使用方法。

3. 使用方法

  • 点击项目中某个目录名称然后按下快捷键:option(alt)+shift+d;
  • 此时会弹出窗口,在窗口中输入文件名称和JSON字符串,点击确认按钮就可以了;

它会在点击的目录下创建dart文件,文件名和类名相同。当然了,如果不选择目录的话,默认会在lib目录下创建文件。该插件创建的类名就是自己输入的名称,不会自动在类名中添加前缀或者后续。该插件还有设置功能,可以选择是否支持空安全。

4. 内容总结

在实际项目中进行网络请求时JSON是必不可少的知识,因此这个插件也是经常使用的插件。最后,我们对本章回的内容做一个全面的总结:

  • 在项目中把JSON字符串转换成可以使用IDE中的插件进行自动转换;
  • 常用的插件有两个:FlutterJsonBeanFactory和JsonToDart;
  • 我推荐使用JsonToDart插件,它不会生成其它辅助文件而且功能比较多;

看官们,与"再分享一个Json工具"相关的内容就介绍到这里,大家有没有什么好用的Json插件呢?欢迎大家在评论区交流与讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1363607.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

吉他打谱软件Guitar Pro8苹果Mac电脑简体中文特别版

Guitar Pro 8 Mac是一款吉他编曲学习软件,用于吉他、贝和其他弦乐器的制谱和演奏,这是一个多轨编辑器,具有集成的 MIDI 编辑器、合唱绘图仪、吉他、节拍器和其他音乐家工具。它使您能够编辑吉他、贝司和尤克里里、乐谱、指法谱,并…

qt三大控件

1.QListWidget控件 先在ui界面将 QListWidget拖出来竖直对齐 再去代码中实现文本插入 两种插入方式 方法1 //listWidget使用 有左右中间对齐需求QListWidgetItem * itemnew QListWidgetItem("床前明月光"); // //上面只是独立的一句话,没有关联起来ui-&g…

如何建立标准且有效的评审流程?6个重点

为了进一步提高项目质量,项目评审管理需要遵循一定的标准化流程。而建立标准且有效的评审流程,能够快速提高项目质量和效率,优化团队协作,降低风险,提高项目成功率。如果组织没有建立起标准化的评审流程,就…

C++笔记之cout高亮输出以及纯C++实现一个彩色时钟

C笔记之cout高亮输出以及纯C实现一个彩色时钟 code review! 文章目录 C\笔记之cout高亮输出以及纯C\实现一个彩色时钟一.cout高亮输出1.1.运行1.2.代码一1.3.代码二1.4.重置终端的文本格式到默认设置说明 二.纯C\实现一个彩色时钟2.1.运行2.2.main.cc2.3.cout带颜色打印输出技…

常用Python自动化测试框架有哪些?

随着技术的进步和自动化技术的出现,市面上出现了一些自动化测试框架。只需要进行一些适用性和效率参数的调整,这些自动化测试框架就能够开箱即用,大大节省了测试时间。而且由于这些框架被广泛使用,他们具有很好的健壮性&#xff0…

蓝桥杯练习题(一)

📑前言 本文主要是【算法】——蓝桥杯练习题(一)的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 …

ts axios 指定返回值类型,返回数据类型不确定该怎么办 typescript

ts axios 指定返回值类型,返回数据类型不确定该怎么办 typescript 转到 ts 以来,一直有个问题困扰着我,就是每次用 axios 获取数据时,返回值 res 的类型都不能确定,这就导致编辑器一直提示我: 原因 原因是…

哪些软件可以把扫描的表格转成EXCEL

也可点击“软件下载” 一、点击“软件下载”下载安装软件后使用,或直接用网页版添加图片再点击“提交识别”来转换。 二、软件安装成功后将待识别的图片添加进去,点击“识别全部”即可,非常简单。

基于SpringBoot大药房管理系统(程序+数据库+文档)

🍅点赞收藏关注 → 私信领取本源代码、数据库🍅 本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目希望你能有所收获,少走一些弯路。🍅关注我不迷路🍅摘 要 伴随着全球信息化发展&…

K8S-服务访问

1 Ingress简介 原理解析 Ingress是授权入站连接到达集群服务的规则集合。从外部流量调度到nodeport上的service从service调度到ingress-controlleringress-controller根据ingress[Pod]中的定义(虚拟主机或者后端的url)根据虚拟主机名直接调度到后端的一…

[java小贴士]关于double类型进行运算时有误差的相等判断的替代方式

double类型在进行运算时会产生误差, 在不能进行相等判断时可以用绝对值在小于某个范围来替代相等; 如果没有进行运算, 是查询得到或者直接赋值则可以正常进行判断相等

1868_C语言单向链表的实现

Grey 全部学习内容汇总: GitHub - GreyZhang/c_basic: little bits of c. 1868_C语言中简单的链表实现 简单整理一下链表的实现,这一次结合前面看到的一些代码简单修改做一个小结。 主题由来介绍 以前工作之中链表的使用其实不多,主要是…

leetcode 每日一题 2024年01月07日 赎金信

题目 给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1: 输入…

NCC基础开发技能培训

YonBuilder for NCC 是一个带插件的eclipse工具,跟eclipse没什么区别 NC Cloud2021.11版本开发环境搭建改动 https://nccdev.yonyou.com/article/detail/495 不管是NC Cloud 新手还是老NC开发,在开发NC Cloud时开发环境搭建必看!&#xff…

小猫踩球Scratch-第14届蓝桥杯Scratch省赛真题第2题

2. 小猫踩球(40分) 评判标准: 10分:满足"具体要求"中的1); 15分:满足"具体要求"中的2); 15分,满足"具体要求"中的3&#x…

设计模式之享元模式【结构型模式】

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档> 学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某…

【金融数据分析】计算2023年沪深300成分股涨跌排行榜

前言 之前的文章中我们已经获取了沪深300成分股的详细个股数据,本文我们来计算一下2023年成分股的涨跌排行榜。 首先看一下效果 详细代码 首先说一下后端的代码,涨跌幅的计算公式如下: (2023年最后一天的收盘价-2023年第一天的…

IMS基本架构

IP Multimedia Core Network Subsystem (IMS)商用已久,相对于CS domain的语音方案,IMS则是基于IETF定义的会话控制功能与多媒体传输功能通过IP-CAN实现的 全IP完整语音解决方案。 IMS能为无线和有线用户实现语音、视频、消息、数据等服务。便于运营商通过…

【C++】深入了解构造函数之初始化列表

目录 一、再谈构造函数 1、引入 1)构造函数体赋值 2)不同成员变量赋值 2、初始化列表 一、再谈构造函数 1、引入 1)构造函数体赋值 在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值…

【小沐学C++】C++ 实现鼠标键盘钩子HOOK

文章目录 1、简介2、相关函数2.1 SetWindowsHookEx2.2 UnhookWindowsHookEx2.3 CallNextHookEx 3、相关结构体3.1 KBDLLHOOKSTRUCT3.2 MSLLHOOKSTRUCT 4、挂钩过程5、代码测试5.1 代码1 结语 1、简介 https://learn.microsoft.com/zh-cn/windows/win32/winmsg/about-hooks 挂…