Функция jsonDecode
Парсит строку и возвращает результирующий объект Json.
Необязательная функция reviver вызывается один раз для каждого свойства объекта или списка, которое было обработано во время декодирования. Аргумент key — это либо целочисленный индекс списка для свойства списка, либо строковый ключ карты для свойств объекта, или null для конечного результата.
По умолчанию reviver (если не указано) — это функция тождества.
Сокращенная запись для json.decode. Полезно, если локальная переменная затеняет глобальную константу json.
Пример:
const jsonString =
'{"text": "foo", "value": 1, "status": false, "extra": null}';
final data = jsonDecode(jsonString);
print(data['text']); // foo
print(data['value']); // 1
print(data['status']); // false
print(data['extra']); // null
const jsonArray = '''
[{"text": "foo", "value": 1, "status": true},
{"text": "bar", "value": 2, "status": false}]
''';
final List<dynamic> dataList = jsonDecode(jsonArray);
print(dataList[0]); // {text: foo, value: 1, status: true}
print(dataList[1]); // {text: bar, value: 2, status: false}
final item = dataList[0];
print(item['text']); // foo
print(item['value']); // 1
print(item['status']); // false Реализация
dynamic jsonDecode(String source,
{Object? reviver(Object? key, Object? value)?}) =>
json.decode(source, reviver: reviver);
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.18.5/dart-convert/jsonDecode.html