7
我正在使用dart:json
中提供的parse()
函數。有沒有辦法使用parse()
來轉換解析的數據?我在考慮類似使用JavaScript解析JSON當reviver
爭論的東西:使用Dart解析JSON字符串時轉換數據
JSON.parse(text[, reviver])
我正在使用dart:json
中提供的parse()
函數。有沒有辦法使用parse()
來轉換解析的數據?我在考慮類似使用JavaScript解析JSON當reviver
爭論的東西:使用Dart解析JSON字符串時轉換數據
JSON.parse(text[, reviver])
在dart:json
的parse()
函數需要一個回調爲精氨酸,您可以使用變換解析數據。例如,您可能更願意將日期字段表示爲DateTime對象,而不是表示年,月和日的數字列表。指定一個'reviver'函數作爲解析的第二個參數。
該功能用於解析每個對象或列表屬性調用一次,並且齊磊函數的返回值被用來代替解析值:
import 'dart:json' as json;
void main() {
var jsonPerson = '{"name" : "joe", "date" : [2013, 10, 3]}';
var person = json.parse(jsonPerson, (key, value) {
if (key == "date") {
return new DateTime(value[0], value[1], value[2]);
}
return value;
});
person['name']; // 'joe'
person['date'] is DateTime; // true
}