我正在使用dart:json
中提供的parse()
函数。是否有一种方法可以使用parse()
转换解析后的数据?我考虑到了JavaScript中使用reviver
参数解析JSON类似的功能:
JSON.parse(text[, reviver])
我正在使用dart:json
中提供的parse()
函数。是否有一种方法可以使用parse()
转换解析后的数据?我考虑到了JavaScript中使用reviver
参数解析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
}