[英]Flutter Nested JSON Parsing
I have a nested JSON api here: 我在这里有一个嵌套的JSON API:
[
{
"Employee": {
"Name": "Michael Jackson",
"Identification": "881228145031",
"Company": "Test Corporate",
"DateOfBirth": "1988-12-28",
"Entitlements": {
"GP": {
"Entitlement": "10000",
"Utilisation": "500",
"Balance": "9500"
},
"OPS": {
"Entitlement": "10000",
"Utilisation": "500",
"Balance": "9500"
},
"IP": {
"Entitlement": "50000",
"Utilisation": "17000",
"Balance": "33000"
},
"Dental": {
"Entitlement": "0.00",
"Utilisation": "0.00",
"Balance": "0.00"
},
"Optical": {
"Entitlement": "500",
"Utilisation": "0.00",
"Balance": "500"
},
"EHS": {
"Entitlement": "1000",
"Utilisation": "250",
"Balance": "750"
}
}
},
"Dependents": [
{
"Name": "Kim",
"Relationship": "Parent",
"Entitlements": {
"GP": {
"Entitlement": "10000",
"Utilisation": "500",
"Balance": "9500"
},
"OPS": {
"Entitlement": "10000",
"Utilisation": "500",
"Balance": "9500"
},
"IP": {
"Entitlement": "50000",
"Utilisation": "17000",
"Balance": "33000"
},
"Dental": {
"Entitlement": "800",
"Utilisation": "200",
"Balance": "600"
},
"Optical": {
"Entitlement": "500",
"Utilisation": "0.00",
"Balance": "500"
},
"EHS": {
"Entitlement": "1000",
"Utilisation": "250",
"Balance": "750"
}
}
},
{
"Name": "Tim",
"Relationship": "Spouse",
"Entitlements": {
"GP": {
"Entitlement": "10000",
"Utilisation": "500",
"Balance": "9500"
},
"OPS": {
"Entitlement": "10000",
"Utilisation": "500",
"Balance": "9500"
}
}
}
]
}
]
As you can see, the JSON file has the same nest in both Employee and Dependents called Entitlements and it has a few Maps inside of it. 如您所见,JSON文件在Employee和Dependents中具有相同的嵌套,称为Entitlements,并且其中包含一些Map。
The basic Model class for both Employee and Dependents are as follows: Employee和Dependents的基本Model类如下:
crm_single_user_model.dart (Model for Employee) crm_single_user_model.dart(员工模型)
class SingleUser{
final String name, identification, company, dob;
SingleUser({this.name, this.identification, this.company, this.dob});
factory SingleUser.fromJson(Map<String, dynamic> ujson){
return SingleUser(
name: ujson["Name"].toString(),
identification: ujson["Identification"].toString(),
company: ujson["Company"].toString(),
dob: ujson["DateOfBirth"].toString()
);
}
}
crm_dependent_list_model.dart(Model for Dependents) crm_dependent_list_model.dart(受抚养人模型)
class DependantModel{
String name;
String relationship;
DependantModel({this.name, this.relationship});
factory DependantModel.fromJson(Map<String, dynamic> depjson){
return DependantModel(
name: depjson["Name"].toString(),
relationship: depjson["Relationship"].toString()
);
}
}
My question is How do i make a model class for the Entitlements? 我的问题是如何为权利创建模型课程?
I can't seem to come up with a solution to creating a model class with lots of maps inside of a map. 我似乎无法提出一种解决方案,以创建一个在地图内部包含大量地图的模型类。
Your help is much appreciated in this matter. 非常感谢您的帮助。
try to see that example 尝试看看那个例子
https://medium.com/flutter-community/parsing-complex-json-in-flutter-747c46655f51 https://medium.com/flutter-community/parsing-complex-json-in-flutter-747c46655f51
class Product {
final int id;
final String name;
final List<Image> images;
Product({this.id, this.name, this.images});
}
class Image {
final int imageId;
final String imageName;
Image({this.imageId, this.imageName});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.