如何处理这种json?
后端返回这种类型的json: 更新日期:2018-12-27 第一个参数是唯一键。我想从Poojãbhumik()的这个不错的博客中获得一些灵感,但不知道如何处理上面的json。事实上,更多的是关于第一个我不知道如何处理的唯一键 还有一件事。我想使用“flatterpackages pub run build\u runner build”命令生成.g.dart文件,如图所示 你介意给我一些提示吗如何处理这种json?,json,dart,flutter,Json,Dart,Flutter,后端返回这种类型的json: 更新日期:2018-12-27 第一个参数是唯一键。我想从Poojãbhumik()的这个不错的博客中获得一些灵感,但不知道如何处理上面的json。事实上,更多的是关于第一个我不知道如何处理的唯一键 还有一件事。我想使用“flatterpackages pub run build\u runner build”命令生成.g.dart文件,如图所示 你介意给我一些提示吗 谢谢如果我理解清楚,您的问题是该地图中的密钥将是随机唯一ID 可以拾取关键帧集,然后循环每个关键帧
谢谢如果我理解清楚,您的问题是该地图中的密钥将是随机唯一ID 可以拾取
关键帧集
,然后循环每个关键帧以创建每个对象及其自己的嵌套对象。大概是这样的:
void main(){
Map<String, dynamic> map = json.decode('yourBodyResponse');
List<MyObject> myObjects = List<MyObject>();
final keys = map.keys;
keys.forEach((id){
final MyObject obj = MyObject.fromJson(id, map[id]);
myObjects.add(obj);
});
}
class ABC {
final String value;
final int time;
ABC({this.value, this.time});
}
class Def {
final String value;
final int time;
Def({this.value, this.time});
}
class MyObject {
final String id;
final ABC abc;
final Def def;
MyObject({this.id,
this.abc,
this.def
});
factory MyObject.fromJson(String id, Map<String, dynamic> json){
return MyObject(
id: id,
abc: ABC(
value: json['abc']['value'],
time: json['abc']['time']),
def: Def(
value: json['def']['value'],
time: json['def']['time']),
);
}
}
void main(){
Map Map=json.decode('yourBodyResponse');
List myObjects=List();
最终关键点=map.keys;
keys.forEach((id){
final MyObject obj=MyObject.fromJson(id,map[id]);
肌对象添加(obj);
});
}
ABC班{
最终字符串值;
最终整数时间;
ABC({this.value,this.time});
}
类Def{
最终字符串值;
最终整数时间;
Def({this.value,this.time});
}
类MyObject{
最终字符串id;
最终ABC;
最终Def;
MyObject({this.id,
这是abc,
这个是def
});
工厂MyObject.fromJson(字符串id,映射json){
返回对象(
id:id,
abc:abc(
value:json['abc']['value'],
时间:json['abc']['time']),
def:def(
value:json['def']['value'],
时间:json['def']['time']),
);
}
}
免责声明:我已经用DartPad在手机上创建了代码,虽然它应该很好,可能格式不好,缺少括号或输入错误。你说的“处理那种json”是什么意思?在根项目上循环。如果需要处理所有节点,则不必知道节点处理它的密钥。您需要以什么方式“处理这种json”?Hi@miguelpruivo。您是否介意查看更新的json数据,并让我知道您将更改什么?谢谢这是一个真正的json示例吗?因为如果是这样,你会有一些对象。它是多个嵌套贴图。
void main(){
Map<String, dynamic> map = json.decode('yourBodyResponse');
List<MyObject> myObjects = List<MyObject>();
final keys = map.keys;
keys.forEach((id){
final MyObject obj = MyObject.fromJson(id, map[id]);
myObjects.add(obj);
});
}
class ABC {
final String value;
final int time;
ABC({this.value, this.time});
}
class Def {
final String value;
final int time;
Def({this.value, this.time});
}
class MyObject {
final String id;
final ABC abc;
final Def def;
MyObject({this.id,
this.abc,
this.def
});
factory MyObject.fromJson(String id, Map<String, dynamic> json){
return MyObject(
id: id,
abc: ABC(
value: json['abc']['value'],
time: json['abc']['time']),
def: Def(
value: json['def']['value'],
time: json['def']['time']),
);
}
}