如何獲取此 JSON 中的所有值并將所有值添加到 dart 中的物件串列中?
"data": [
{
"$id": "2",
"serviceId": 1017,
"name": "???",
"code": "235",
"price": 1562500,
"isDefault": true,
"transportCostIncluded": false,
"qty": 0,
"minQty": 1,
"maxQty": 2,
"description": "?? ?????? ??? ?? ????? ?? ???? ? ?? ??? ??????? (????? ??? ????? ???????? ?? ????).",
"contractorSharePercent": 65,
"unitMeasureId": 7,
"unitMeasureName": "?? 60 ?????",
"superContractorsId": null
},
],
像這樣 var list = ["2",1017,....]
uj5u.com熱心網友回復:
假設您有一個 JSON 檔案,您可能會像這樣決議它:
String json = await rootBundle.loadString('file_name.json');
var response = jsonDecode(json);
你可以這樣做:
List<dynamic> jsonData; //similar to var jsonData = [something, something, ...]
//traversing through each value in the key value arrangement of the json
for (var k in response.values) {
jsonData.add(k); //adding each value to the list
}
回圈結束后,jsonData將擁有 JSON 檔案的所有值。
uj5u.com熱心網友回復:
重要的是您要知道,即使您將鍵放在串列中,由于映射的作業方式,它們也不一定按順序排列。
假設您的 json 是地圖而不是 json 字串,您可以將所有值放在一個串列中,如下所示:
var myList = (jsonObject['data'] as List).fold<List>(
[],
(prev, curr) => [...prev, ...curr.values]
);
如果你在談論一個 json 字串:
Map<String, dynamic> jsonObject = jsonDecode(jsonString);
uj5u.com熱心網友回復:
為簡單起見,我們假設這個 json 在字串中是未決議的。
(1) 假設您添加的代碼片段是一個字串 && 是有效的 json,您可以執行以下操作:)
import 'dart:convert';
void main() {
var x = json.decode('''
{
"data": [
{
"hello": "2",
"serviceId": 1017,
"name": "???",
"code": "235",
"price": 1562500,
"isDefault": true,
"transportCostIncluded": false,
"qty": 0,
"minQty": 1,
"maxQty": 2,
"description": "?? ?????? ??? ?? ????? ?? ???? ? ?? ??? ??????? (????? ??? ????? ???????? ?? ????).",
"contractorSharePercent": 65,
"unitMeasureId": 7,
"unitMeasureName": "?? 60 ?????",
"superContractorsId": null
}
]
}
''');
print(x);
List<dynamic> listOfObjects = (x['data'] as Iterable<dynamic>).toList();
/// this is just gonna be a list of all of your object.
print(listOfObjects);
List<dynamic> listOfValues = (x['data'] as Iterable<dynamic>).map((_object) {
return (_object as Map<String, dynamic>).values.toList();
}).toList();
/// this is gonna be a 2d array here,
print(listOfValues);
}
希望這有幫助:)
這里的 json 也來自 import 'dart:convert';
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/384493.html
