我有一个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”],但结果为空。
答案 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"]);
}