Spec-Zone.ru › Dart 2

dart:convert

Функция jsonDecode

dynamic jsonDecode(
  1. Строка source,
  2. {Объект? reviver(
    1. Объект? key,
    2. Объект? value
    )?}
)

Парсит строку и возвращает результирующий объект 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API