生成实体类工具
-
Android studio中生成实体类工具:FlutterJsonBeanFactory
示例:
import 'dart:convert';
//引入生成的实体类
import 'JsonBean.dart';
main() {
var jsonData = '''
{
"reason": "成功的返回",
"result": {
"stat": "1",
"data": [{
"uniquekey": "0bb54602fcc15111afca8452cc127d57",
"title": "口香糖销量下降30%,你一定猜不到原因",
"date": "2019-03-06 12:55",
"category": "头条",
"author_name": "解放网",
"url": "http:\/\/mini.eastday.com\/mobile\/190306125558115.html"
}, {
"uniquekey": "c92887585d01563c077c7be7f23dca87",
"title": "《还珠格格》中的演员都老了,网友:五阿哥还是很帅",
"date": "2019-03-06 12:44",
"category": "头条",
"author_name": "北青网",
"url": "http:\/\/mini.eastday.com\/mobile\/190306124440102.html"
}]
},
"error_code": 0
}
''';
print("------------------- 方法一: ---------------------------");
/*将字符串转成json 返回的是键值对的形式*/
Map<String, dynamic> news = jsonDecode(jsonData);
String sats = news['result']['stat'];
print(sats);
//方括号是List
var data = news['result']['data'];
// print(data is Map);//false
// print(data is List);//true
//大括号是Map
for (var value in data) {
// print(value is Map);//true
// print(value is List);//false
print(value['url']);
}
print("------------------- 方法二: ---------------------------");
//将字符串拷贝到这里生成实体类 https://javiercbk.github.io/json_to_dart/
//android studio 安装 FlutterJsonBeanFactory 插件 ,生成实体类
Map<String, dynamic> news1 = jsonDecode(jsonData);
//转为实体类
NewsBean newsBean = NewsBean.fromJson(news1);
/*取值*/
String sats1 = newsBean.result.stat;
print(sats1);
List<Data> data1 = newsBean.result.data;
for (var value in data1) {
print(value.url);
}
}
注意:
解析json字符串时:
//方括号是List
var data = news['result']['data'];
// print(data is Map);//false
// print(data is List);//true
//大括号是Map
for (var value in data) {
// print(value is Map);//true
// print(value is List);//false
print(value['url']);