如何将JSON解析为Dart列表

时间:2019-05-06 16:29:56

标签: json dart flutter

如何在Darts / flutter中将复杂的JSON解析为列表

我在地图上有消息,但我需要一些帮助来解析和获取值

这是JSON:..

 {
        "jobs": [
            {
                "id": "S_1244",
                "title": "Title1",
                "location": {
                    "city": "Miami",
                    "stateCode": "FL"

                },
                "salary": {
                    "symbol": "US$",
                    "min": "26.15",
                    "max": "27.15"
                },
                "type": "Temporary",
                "posted": 1530027914570

            },

             {
                "id": "S_1234",
                "title": "Title1",
                "location": {
                    "city": "Miami",
                    "stateCode": "FL"

                },
                "salary": {
                    "symbol": "US$",
                    "min": "26.15",
                    "max": "27.15"
                },
                "type": "Temporary",
                "posted": 1530027914570

            }
       ]
 }

我的身体在地图上

Map map = jsonDecode(data.body);

感谢您的帮助

2 个答案:

答案 0 :(得分:0)

也许可以使用更清洁的方法来完成此操作,但是似乎可以。

  Map map = jsonDecode(data.body);
  List jobList = map["jobs"];
  for ( var job in jobList ) {
    print("id= ${job['id']} title=${job['title']}   location=${job['location']['city']} ");
  }

答案 1 :(得分:0)

您可以选择对json中的所有内容建模。这是开始的代码。

  Map myMap = json.decode(response.body);
  Iterable i = myMap['jobs'];
  List<Jobs> jobs = i.map((model) => Jobs.fromJson(model)).toList();
}

class Jobs {
  Jobs({this.id, this.title, this.type});
  String id;
  String title;
  String type;

  Jobs.fromJson(Map<String, dynamic> json)
      : id = json['id'],
        title = json['title'],
        type = json['type'];
}

您将得到作业列表,这是json中作业的普通旧Java类表示形式。您也可以建模位置和薪水。