例子如下:
例子中json字符串涉及简单的类型,数组类型
import 'dart:convert';
import 'dart:io';
import 'dart:async';
main(){
String jsonstr='{"name":"test","age":10,"friend":[1,2,3,4],"house":[{"addr":"qingdao","size":130},{"addr":"beijing","size":108}],"car":{"count":2}}';
var tt=json.decode(jsonstr);
print(json.encode(tt));
AA zz=AA.fromJson(json.decode(jsonstr));
print(zz);
}
class AA
{
String name;
int age;
List<int> friend;
List<BB> house;
CC car;
AA.fromJson(Map<String,dynamic> jsonstr)
{
this.name=jsonstr["name"];
this.age=jsonstr["age"];
var x=jsonstr["friend"].map((i) => i).toList();
this.friend=new List<int>.from(x);
var xx=jsonstr["house"].map((i) => (BB.fromJson(i))).toList();
this.house=new List<BB>.from(xx);
this.car=CC.fromJson(jsonstr["car"]);
}
}
class BB
{
String addr;
int size;
BB.fromJson(Map<String,dynamic> jsonstr)
{
this.addr=jsonstr["addr"];
this.size=jsonstr["size"];
}
}
class CC
{
int count;
CC.fromJson(Map<String,dynamic> jsonstr)
{
this.count=jsonstr["count"];
}
}