parse()
で提供されている関数を使用していますdart:json
。を使用して解析されたデータを変換する方法はありparse()
ますか? reviver
JavaScriptを使用してJSONを解析するときの引数に似たものを考えています:
JSON.parse(text[, reviver])
parse()
で提供されている関数を使用していますdart:json
。を使用して解析されたデータを変換する方法はありparse()
ますか? reviver
JavaScriptを使用してJSONを解析するときの引数に似たものを考えています:
JSON.parse(text[, reviver])
のparse()
関数はdart:json
、解析されたデータを変換するために使用できる引数としてコールバックを受け取ります。たとえば、日付フィールドを、年、月、日を表す数値のリストとしてではなく、DateTime オブジェクトとして表現したい場合があります。解析する 2 番目の引数として「reviver」関数を指定します。
この関数は、解析されるオブジェクトまたはリスト プロパティごとに 1 回呼び出され、解析された値の代わりにリバイバー関数の戻り値が使用されます。
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
}