我試圖從這個json回應中獲得這些鍵的值:
我試圖從這個json回應中獲得這些鍵的值。
{
"pro": {
"group": [
"1": {
"name": "Base",
"field": [
{
"id": 3,
"value": {
"raw": "Name",
}
},
{
"id": 4,
"value": {
"raw": "avatar"。
}
},
]
},
"2": {
"name": "Base",
"field": [
{
"id": 6,
"value": {
"raw": "Name",
}
},
{
"id": 7,
"value": {
"raw": "avatar",
}
},
]
}
]
}
}
我可以得到 "名稱 "的值。"Base"
json['pro']['group']["1"] ['name']。
但是我不能得到鍵 "raw "的值。
我怎樣才能得到key "raw "的值?
uj5u.com熱心網友回復:
fields的值是一個串列,所以你將得到一個raw值的串列:
List<String> raw = json['pro']['group']['1']['field']。 map((v) => v['value']['raw']。
另外,似乎groups是一個陣列,但作為一個物件? 那么你可以這樣做:
List<String> raw = [] 。
Map<String, dynamic> groups = json['pro']['group']。
for (var key in groups.key) {
raw.add(group[key]['fields'].map((v) => v['value']['raw')。
}
或者
List<String> raw = groups. keys.map((key) => groups[key]['fields'].map((v) => v['value']['raw')。
我還沒有測驗這段代碼,但希望它能像預期的那樣作業:)
uj5u.com熱心網友回復:
第一件事,你的json是無效的。 嘗試將你的json粘貼在這里它將顯示為什么你的json是無效的
。在你修復了json之后,新的結構json將看起來像這樣
。{
"pro": {
"group": [
{
"name": "Base",
"field": [
{
"id": 3,
"value": {
"raw": "Name",
}
},
{
"id": 4,
"value": {
"raw": "avatar"。
}
},
]
},
{
"name": "Base",
"欄位": [
{
"id": 6,
"value": {
"raw": "Name",
}
},
{
"id": 7,
"value": {
"raw": "avatar",
}
},
]
}
]
}
}
然后為了抓取raw的值,你必須先用jsonDecode()來決議json,然后你可以使用這樣的方法:
Map<String, dynamic> groupOne = json['pro']['group'][0] 。
Map<String, dynamic> groupOneFieldOne = groupOne['field'][0]。
print(groupOneFieldOne['value']['raw']) 。
但這只是一個例子。如果你想輕松地訪問它們,你可以像這樣使用.map():
List<Map< String, dynamic>> groups = json['pro']['group']。
groups.map(
(Map<String, dynamic> group) => (group['fields'] as List<dynamic>) 。 map(
(dynamic field) => field['value']['raw'] 。
),
);
這就是了!如果你想問什么就寫個評論;) 你可以復制和粘貼在dartpad上
。 List<Map< String, dynamic>> groups = json['pro']['group']。
print(group.map(
(Map<String, dynamic> group) => (group['fields'] as List<dynamic>) 。 map(
(dynamic field) => field['value']['raw'] 。
),
));
}
Map<String, dynamic> json = {
"pro": {
"group": [
{
"name": "Base",
"field": [
{
"id": 3,
"value": {
"raw": "Name",
}
},
{
"id": 4,
"value": {
"raw": "avatar"。
}
},
]
},
{
"name": "Base",
"欄位": [
{
"id": 6,
"value": {
"raw": "Name",
}
},
{
"id": 7,
"value": {
"raw": "avatar",
}
},
]
}
]
}
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/322797.html
標籤:
