如何处理这种json?

如何处理这种json?,json,dart,flutter,Json,Dart,Flutter,后端返回这种类型的json: 更新日期:2018-12-27 第一个参数是唯一键。我想从Poojãbhumik()的这个不错的博客中获得一些灵感,但不知道如何处理上面的json。事实上,更多的是关于第一个我不知道如何处理的唯一键 还有一件事。我想使用“flatterpackages pub run build\u runner build”命令生成.g.dart文件,如图所示 你介意给我一些提示吗 谢谢如果我理解清楚,您的问题是该地图中的密钥将是随机唯一ID 可以拾取关键帧集,然后循环每个关键帧

后端返回这种类型的json:

更新日期:2018-12-27

第一个参数是唯一键。我想从Poojãbhumik()的这个不错的博客中获得一些灵感,但不知道如何处理上面的json。事实上,更多的是关于第一个我不知道如何处理的唯一键

还有一件事。我想使用“flatterpackages pub run build\u runner build”命令生成.g.dart文件,如图所示

你介意给我一些提示吗


谢谢

如果我理解清楚,您的问题是该地图中的密钥将是随机唯一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']),
    );
}

}