flutter Json转Dart

Flutter 中如何处理Json

Flutter给我们提供了 dart:convert 包,我们可以通过

json.decode(json)  来序列化json                                                 
例子:
json数据如下:

{
  "reason": "成功的返回",
  "result": {
    "stat": "1",
    "data": [{
      "category": "头条",
      "author_name": "解放网",
      "url": "http:\/\/mini.eastday.com\/mobile\/190306125558115.html",
      "thumbnail_pic_s": "http:\/\/01imgmini.eastday.com\/mobile\/20190306\/20190306125558_d2b6545a4b6273201218c32c6ffe436a_1_mwpm_03200403.jpg"
    }, {
   
      "category": "头条",
      "author_name": "北青网",
      "url": "http:\/\/mini.eastday.com\/mobile\/190306124440102.html",
      "thumbnail_pic_s": "http:\/\/04imgmini.eastday.com\/mobile\/20190306\/20190306124440_bfad5f823d7fcad5e044754e095278ef_1_mwpm_03200403.jpg",
    }]
  },
  "error_code": 0
};
//将字符串转成json 返回的是键值对的形式
Map<String, dynamic> news = jsonDecode(jsonData);
//取值
String sats = news['result']['stat'];

可以看到,我们这样取值是需要手动的敲字段来获取数据的,比较麻烦,所以下面讲一下自动生成Bean实体类。

方式一:在线转换  Json在线转Dart

    1、将json数据赋值到输入框中,点击创建Dart类,然后右边就是生成好的Dart代码,类名可以复制到编辑器后自行修改。

在这里插入图片描述 2、创建一个Dart类,将类名自行修改一下

在这里插入图片描述

 3、使用方式:

    /*先将字符串转成json*/
    Map<String, dynamic> json = jsonDecode(jsonData);
    /*将Json转成实体类*/
    NewsBean newsBean=NewsBean.fromJson(news);
    /*取值*/
    String sats = newsBean.result.stat;

方式二:插件

     在Android原生开发中,我们有很好用的Gson、FastJson等第三方库来帮助我们将json转成实体类。但是,在Flutter中可能不会有这样的第三方库供我们使用了,详细原因请看 JSON and serialization

首先安装FlutterJsonBeanFactory这个插件,安装方式很简单,这里我就不说了。

安装完成后右键包目录,选择new

在这里插入图片描述

然后选择dart bean class File from JSON

在这里插入图片描述

 然后将json数据粘贴至输入框,输入类名,点击make即可

 在这里插入图片描述

这样实体类就生成好了:

在这里插入图片描述 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值