尝试使用json_serializable将json转换为Dart / Flutter中的对象。我似乎找不到找到访问嵌套ID的方法(数据来自MongoDB,因此json中的$)。

这是json:

{
    "_id": {
        "$oid": "5c00b227"  <-- this is what I am trying to access
    },
    "base": 1,
    "tax": 1,
    "minimum": 5,
    "type": "blah"
}

结果:
class Thing {
  final int id;
  final String base;
  final String tax;
  final String type;
  final int minimum;
}

最佳答案

试试这个,

class Thing {
   int id;
   String base;
   String tax;
   String type;
   int minimum;

   Thing({
    this.id,
    this.base,
    this.tax,
    this.type,
    this.minimum,
  });

   factory Thing.fromJson(Map<String, dynamic> json) {
     return Thing(
       id: json['_id']["oid"],
       base: json['base'].toString(),
       tax: json['tax'].toString(),
       type: json['type'].toString(),
       minimum: json['minimum'],
     );
   }
}

关于json - 使用Dart中的json_serializable访问json中的嵌套对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61530888/

10-08 22:06
查看更多