Spec-Zone.ru › Dart 2

dart:convert

Функция jsonDecode

dynamic jsonDecode(
  1. String source,
  2. {Object? reviver(
    1. Object? key,
    2. Object? 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.19.6/dart-convert/jsonDecode.html

Spec-Zone.ru

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