Flutter 从web API获取数据结果的颤振问题

Flutter 从web API获取数据结果的颤振问题,flutter,dart,Flutter,Dart,我有一个JSON [ { "TenDantoc": "Khmer" }, { "TenDantoc": "Bana" }, { "TenDantoc": "Bố Y" },] 我已经编写了以下代码: if (response.statusCode == 200) { var test=json.decode(response.body); print(test[0]); } 返回的结果将是{TenDantoc:Khmer} 我的问题是,我希望返回的结果是

我有一个JSON

[ { "TenDantoc": "Khmer" }, { "TenDantoc": "Bana" }, { "TenDantoc": "Bố Y" },]
我已经编写了以下代码:

    if (response.statusCode == 200) {
      var test=json.decode(response.body);
      print(test[0]);
   }
返回的结果将是{TenDantoc:Khmer}

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

如果我理解正确,您将获得
{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"]); 
}
void main()
{
列表用户=[{“TenDantoc”:“高棉”},{“TenDantoc”:“Bana”},{“TenDantoc”:“B”ố Y“}];
Map objectValue=用户[0];
打印(objectValue[“TenDantoc”]);
}
因此,首先在类
列表中使用
get
操作符,该操作符返回
map
。然后可以使用类型为
map
的变量
objectValue
来检索key
TenDantoc
的值


print()
方法将返回
Khmer

,因为它仍然无法理解该列表中的对象。只需再解码1次:

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

正如你所说,我确实希望得到结果,但当我按照你说的做时,它返回错误“type'List'不是type'List'的子类型”你能给我看一下产生这个错误的代码吗?上面的代码我试过了,它正在工作如果(response.statusCode==200){var test=json.decode(response.body);var test2=test[0];print(test2[“TenDanToc”];}否则{print(response.statusCode);}我有错误类型“\u InternalLinkedHashMap”不是类型“String”的子类型。我已经更新了我的答案,检查它@Nguyen khait这次在我的编辑中可以工作,我已经用我的api检查过。你不能使用test[0][“TenDanToc”]它仍然不工作@hoangquyy。它将返回null。这是我的代码:if(response.statusCode==200){var test=json.decode(response.body);var test2=test[0];print(test2[“TenDanToc”]);}else{print(response.statusCode);}