FLUTTER问题,从Web API获取数据的结果

时间:2019-10-07 08:07:23

标签: flutter dart

我有一个JSON

[ { "TenDantoc": "Khmer" }, { "TenDantoc": "Bana" }, { "TenDantoc": "Bố Y" },]

我写了下面的代码:

    if (response.statusCode == 200) {
      var test=json.decode(response.body);
      print(test[0]);
   }

返回的结果将是{TenDantoc:高棉}

我的问题是我希望返回的结果是高棉语,但我不能这样做。请帮我。 PS:我尝试了print(test [0] [“ TenDanToc”],但结果为空。

2 个答案:

答案 0 :(得分:0)

如果我的理解正确,您会得到{TenDantoc: Khmer},但您想要的值是Khmer。为此,您可以执行以下操作:

void main()
{

  List<Map<String, dynamic>> user = [ { "TenDantoc": "Khmer" }, { "TenDantoc": "Bana" }, { "TenDantoc": "Bố Y" }];

 Map<String,dynamic> objectValue = user[0];
  print(objectValue["TenDantoc"]); 
}

因此,首先在类get中使用List运算符,该运算符将返回map。然后,您可以使用类型为objectValue的变量map来检索键TenDantoc的值。

print()方法将返回Khmer

答案 1 :(得分:0)

因为它仍然不了解该列表中的对象是什么。再解码1次即可:

  if (response.statusCode == 200) {
    var test=json.decode(response.body);
    var test2 = test[0];
    print(test2["TenDanToc"]);
  }