【问题标题】:Flutter retrieve object info using jsonFlutter 使用 json 检索对象信息
【发布时间】:2021-05-03 06:28:36
【问题描述】:

它们不在同一个飞镖中 JSON:

{
    "museum1" : {
        "info1" : "value1",
        "info2" : "value1"
    },
    "museum2" : {
        "info1" : "value2",
        "info2" : "value2"
    }
    ...
}

博物馆类:

class museo{
    String info1;       
    String info2
    
    museo({this.info1, this.info2});
}

有没有办法通过知道 id 来检索 info1info2? 我想创建 museum object 并且只做 museum.info1

【问题讨论】:

标签: json flutter parsing


【解决方案1】:

如果你有一个简单的实体,你可以定义一个工厂构造函数来从 JSON 数据创建对象:

class museo{
  String info1;       
  String info2
    
  museo({this.info1, this.info2});

  factory museo.fromJson(Map<String, dynamic> data) {
    return museo(
      info1: data['info1'],
      info2: data['info2'],
    );
  }
}

并在 JSON 解析提取对象后:

final museos = parsedJson.map(museo.fromJson); // it should be List<museo>

但是如果你的对象大且解析复杂,你可以尝试使用像json_serializable这样的插件。

Flutter documentation 中描述的所有 JSON 转换变体。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-08
    • 1970-01-01
    • 2021-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多