我正在解析一个包含多个键值对的JSON对象,但不确定如何从下面的JSON中提取对象。密钥总是根据GET请求而有所不同,因此我无法像往常一样使用json ['keyname']。为了从“ ccwms”返回键列表和相应的值(浮点数)列表,我需要什么样的功能?
{
"ccwms": {
"frc118": 160.8076758518209,
"frc1255": 15.257951313413884,
"frc1296": 11.42077882954301,
"frc7321": -161.58464745359254
}
}
答案 0 :(得分:1)
解析JSON之后,您将拥有一个带有字符串键和一些值的普通Dart Map。您可以通过多种方式来迭代地图,例如:
for (var key in map.keys) { doSomething(key, map[key]); }
for (var entry in map.entries) { doSomething(entry.key, entry.value); }
map.forEach(doSomething);
(Map.keys,Map.entries,Map.forEach)。 我确信还有更多访问所有键和值的方法。
键和值的操作完全取决于您,这只是一张地图。
答案 1 :(得分:-1)
用于转换json字符串的最小Dart程序:
import 'dart:convert';
main() {
String source = """{"X":"RRRR","Y":"SSSS","ccwms": {
"frc118": 160.8076758518209,
"frc1255": 15.257951313413884,
"frc1296": 11.42077882954301,
"frc7321": -161.58464745359254
}}""";
dynamic target = JsonDecoder().convert(source);
print ( source.toString());
}
答案 2 :(得分:-1)
这些键是随机的吗?我认为必须对键进行预定义设置,因为json是已存在对象的序列化,并且对象结构不能是随机的 希望我理解正确
应该是评论,但我现在无法添加评论。