Code前端首页关于Code前端联系我们

Flutter工具:Dart中常用的几种Json对象转换方法

terry 2年前 (2023-09-23) 阅读数 84 #移动小程序

Json在大多数开发中都是必不可少的。那么这里列出了我最近在 Flutter 中使用的几种将 Json 转换为对象的方法。

Web Tools

大神提供的JSON to Dart Web工具,点击即可使用。如图就像简单明,没什么可说的。 Flutter工具:Dart几种常用Json转Object方式

目前发现的缺点:数组格式的json无法直接转换

json_serializable

刚开始学习的时候在博客上看到过(忘记是哪一个了),一般操作比较繁琐。以下是该工具的GitHub地址以及使用步骤。

github

github.com/dart-lang/j…

集成

将dio和json_serializable相关插件添加到pubspec.y。 通过该URL生成dar文件,效果如下图: Flutter工具:Dart几种常用Json转Object方式

生成如果你不使用混合类,可以将其删除。

命令生成.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,如图:Flutter工具:Dart几种常用Json转Object方式

在弹出的界面中输入文件名,粘贴json格式Flutter工具:Dart几种常用Json转Object方式

  • 。生成的文件名后自动添加 _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前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门