Flutter-Json.decode返回不正确的json

时间:2018-11-28 10:47:13

标签: json dart flutter

最近,我更改了应用程序的所有JSON,以显示错误,消息和服务主体。在主体中,我有一个数据数组。在更改JSON之前,所有方法都可以执行以下操作:

final responseJson = json.decode(response.body);

哪个返回:

  

[{“ id”:1,“ descripcion”:“ Terreno Rio”},{“ id”:2,“ descripcion”:“ Terreno   Asier“}]

现在我尝试做这样的事情:

final responseJson = json.decode(response.body);
print(json.encode(responseJson));

哪个返回:

  

[{“ code”:0,“ message”:“”,“ body”:[{“ id”:1,“ descripcion”:“ Terreno   Rio“},{” id“:2,” descripcion“:” Terreno Asier“}]}]]

有人知道正确的方法来提取JSON的某些元素并进行解码吗?

2 个答案:

答案 0 :(得分:1)

我确定您获得的JSON响应如下:

  

{“ code”:0,“ message”:“”,“ body”:[{“ id”:1,“ descripcion”:“ Terreno   Rio“},{” id“:2,” descripcion“:” Terreno Asier“}]}

因此,为了解析该JSON,您可以直接访问正文:

List list = responseJson['body'];

现在您可以遍历数组的元素:

for (Map<String, dynamic> element in list) {
    print(element);
}

答案 1 :(得分:0)

您得到List中的Maps。首先使用List访问[0]的第一个元素(只有1个),然后使用body访问返回的Map的{​​{1}}元素:

['body']