7
dart:json
で提供されるparse()
関数を使用しています。 parse()
を使用して解析されたデータを変換する方法はありますか? JavaScriptを使用してJSONを解析するとき、私はreviver
引数に似て何かを考えています:dart:json
でダーツを使用してJSON文字列を解析するときのデータを変換します
JSON.parse(text[, reviver])
dart:json
で提供されるparse()
関数を使用しています。 parse()
を使用して解析されたデータを変換する方法はありますか? JavaScriptを使用してJSONを解析するとき、私はreviver
引数に似て何かを考えています:dart:json
でダーツを使用してJSON文字列を解析するときのデータを変換します
JSON.parse(text[, reviver])
parse()
機能を使用すると、解析されたデータを変換するために使用することができます引数としてコールバックを取ります。たとえば、年、月、日を表す数字のリストではなく、DateTimeオブジェクトとして日付フィールドを表現することができます。構文解析する第2引数として '復唱者'関数を指定します。
この関数は、各オブジェクトまたはリストプロパティが解析のために一度呼び出され、リバイバー関数の戻り値ではなく解析された値を用いている:
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
}