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

文章目录

  • [1. 概念介绍](#1. 概念介绍)
  • [2. 分析与比较](#2. 分析与比较)
    • [2.1 分析问题](#2.1 分析问题)
    • [2.2 比较差异](#2.2 比较差异)
  • [3. 使用方法](#3. 使用方法)
  • [4. 内容总结](#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的缓冲可以解决此问题。详细如下图所示:

groovy 复制代码
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插件呢?欢迎大家在评论区交流与讨论!

相关推荐
Venuslite5 天前
从 Unexpected token < 到 Extra data:一次讲清 JSON 解析错误的排查思路
json
疯狂SQL11 天前
手写高性能在线 JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
typescript·json·next.js·web worker·前端性能优化·esbuild·源码实战
terry60016 天前
5G视频短信服务商选型全攻略:通道资源、架构能力与成本评估2026最新标准
大数据·人工智能·5g·json·asp.net·信息与通信·数据库架构
前网易架构师-高司机16 天前
带标注的辣椒病叶数据集,识别率95.9%,可识别三种病害和健康叶子,9916张图,支持yolo,coco json,voc xml,文末有模型训练代码
yolo·json·数据集·病害·叶病·病叶·辣椒
PixelBai16 天前
JSON扁平化使用教程:从入门到精通
json
渔舟唱晚,雁阵惊寒17 天前
CSDN博客内容丢失如何恢复?
json
衣乌安、17 天前
JSON-RPC协议
网络协议·rpc·json
PixelBai17 天前
JSON过滤使用教程:从入门到精通
javascript·chrome·json
PixelBai17 天前
JSON过滤实际应用场景案例
json