flutter FlutterJsonHelper json解析和其他方法解析

参考
第一种:使用FlutterJsonHelper插件(推荐:最简单)【android studio下使用】
在这里插入图片描述
创建json.dart文件,将上述的json或者http获取到的字符串复制进来,然后在创建json.dart文件右键选择Generate->JsonToDartClass,然后在弹窗中将json字符串粘贴进去,点击ok即可。生成的实体类如下图:
在这里插入图片描述

重点来了,代码
import 'dart:convert';
import 'jsondate.dart'; //这个地方如果你是用http获取的json数据,那就不用
import 'json.dart'; //这个就是上述json数据转化为实体的文件

Map<String, dynamic> jsontext1 = jsonDecode(jsontext); //字符串转json格式,一般http获取到的基本不用,如果不行的话,就用上这行;注意jsontext是函数,不是文件名
var coin = Json.fromJson(jsontext1); //记得Json.from... 这里面的J是大写,因为是要对应import 'json.dart'中class类的自定义名称
print(coin.data[0].order);
print(coin.errorMsg);

第二种:使用Json To Dart插件(推荐:最简单)【Visual Studio Code下使用】
离线插件vsix下载,安装方法自行研究
在这里插入图片描述
创建json.dart文件,将上述的json或者http获取到的字符串复制进来,然后再新建json3.dart,把前面json数据复制过来,在该文件的编辑页面右键选择Convert JSON from Clipboard Here,
在这里插入图片描述

然后自动生成实体类。
重点来了,代码
import 'dart:convert';
import 'jsondate.dart'; //这个地方如果你是用http获取的json数据,那就不用
import 'json3.dart'; //这个就是上述json数据转化为实体的文件

Map<String, dynamic> jsontext1 = jsonDecode(jsontext); //字符串转json格式,一般http获取到的基本不用,如果不行的话,就用上这行;注意jsontext是函数,不是文件名
var coin = Json3.fromJson(jsontext1); //记得Json3.from... 这里面的J是大写,因为是要对应import 'json.dart'中class类的自定义名称
print(coin.data[0].order);
print(coin.data[0].children[0].userControlSetTop);
print(coin.errorMsg);

第三种:使用FlutterJsonBeanFactory插件【android studio下使用】
在这里插入图片描述
复制json字符串,建立model
在这里插入图片描述
在这里插入图片描述

重点来了,代码
import 'dart:convert';
import 'generated/json/base/json_convert_content.dart'; //刚刚插件自动生成的文件,必须添加,如果没添加爆红了点fix也会添加
import 'jsondate.dart'; //这个地方如果你是用http获取的json数据,那就不用
import 'jsonone_jsonformat.dart'; //刚刚插件自动生成的文件,必须添加

Map<String, dynamic> jsontext1 = jsonDecode(jsontext); //字符串转json格式,一般http获取到的基本不用,如果不行的话,就用上这行;注意jsontext是函数,不是文件名
JsononeJsonformat model = JsonConvert.fromJsonAsT(jsontext1); //其中JsononeJsonformat是import 'jsonone_jsonformat.dart'中class类的自定义名称(如果复杂的json,里面多重嵌套,数组不同,就要注意自定义的class名称了);JsonConvert.from.. 就是上述import中json_convert_content.dart文件
print(model.errorMsg);
print(model.errorCode);
print(model.data[0].order.toString());
高能总结:如果复杂的json,里面多重嵌套,数组不同,就要注意二个自定义的class名称了!!!重要的事情说三遍


还有一个网站很好的
参考
出现的地方
搜值户FlutterJsonHelper找得到

如果有字段是[],数组里面没有数据的话就解析不出来了,起码要知道里面数据是什么类型的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值