Flutter工具:Dart中常用的几种Json对象转换方法
Json在大多数开发中都是必不可少的。那么这里列出了我最近在 Flutter 中使用的几种将 Json 转换为对象的方法。
Web Tools
大神提供的JSON to Dart Web工具,点击即可使用。如图就像简单明,没什么可说的。
目前发现的缺点:数组格式的json无法直接转换
json_serializable
刚开始学习的时候在博客上看到过(忘记是哪一个了),一般操作比较繁琐。以下是该工具的GitHub地址以及使用步骤。
github
github.com/dart-lang/j…
集成
将dio和json_serializable相关插件添加到pubspec.y。 通过该URL生成dar文件,效果如下图:
生成和
如果你不使用混合类,可以将其删除。
命令生成.g文件
在项目根目录下输入命令:flutter packages pub run build_runner build
,完成后a然后❓dar. 会自动创建在与 bean.dart
相同的目录中,如果有
其他 .g 文件受到影响,可以使用这个命令 `flutter packages pub run build_runner build --delete-conflicting-输出`
FlutterJsonBeanFactory插件
插件安装
使用AndroidStudio/Idea的朋友Settings->Plugins
并使用
》右键-单击要在其中键入 bean 的目录->新建->dart bean class File from JSON,如图:
在弹出的界面中输入文件名,粘贴json格式
- 。生成的文件名后自动添加
_entity
- 。和第一个一样,不能直接生成数组格式的json
手写
你知道吗!
PS:关于json数组
以下格式的json数组无法在第1、第3设备中直接生成。
[
{
"howlong": "30",
"id": "1",
"name": "一个月",
"price": "50.05"
}
]
复制代码
这个类型可以直接生成数组中的Object对象,然后添加获取文件对应的对象的方法,例如:
List<Bean> getBeanList(List<dynamic> list){
List<Bean> result = [];
list.forEach((item){
result.add(Bean.fromJson(item));
});
return result;
}
复制代码
最后说明
因为我经常忘记,这只是一个简短的总结 虽然。道友们可以在不同的场景中选择使用它,并且很乐意推荐其他方法。
作者:一碗牛肉汤
链接:https://juejin.im/post/5d4a2d80f265da03ee6a4097
来源:版权掘金商业转载请联系作者授权。非商业转载请注明来源。
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。