Метод decode
Метод decode класса JsonCodec преобразует
строку в формате JSON в объект языка Dart.
В первый параметр мы передаем строку с JSON-данными.
Во второй необязательный параметр мы передаем функцию
reviver, которая позволяет преобразовать
декодированные значения перед возвратом.
Синтаксис
jsonCodec.decode(source, [reviver])
Пример
Давайте декодируем строку с JSON-объектом и выведем полученный результат:
import 'dart:convert';
void main()
{
JsonCodec jsonCodec = JsonCodec();
String source = '{"a": 1, "b": 2, "c": 3}';
var res = jsonCodec.decode(source);
print(res);
}
Результат выполнения кода:
{a: 1, b: 2, c: 3}
Пример
Давайте декодируем строку с JSON-массивом и получим из нее элемент по индексу:
import 'dart:convert';
void main()
{
JsonCodec jsonCodec = JsonCodec();
String source = '[1, 2, 3, 4, 5]';
var res = jsonCodec.decode(source);
print(res);
print(res[0]);
}
Результат выполнения кода:
[1, 2, 3, 4, 5]
1
Пример
Давайте декодируем строку с вложенной JSON-структурой и обратимся к вложенному значению по ключу:
import 'dart:convert';
void main()
{
JsonCodec jsonCodec = JsonCodec();
String source = '{"a": {"b": "abcde"}}';
var res = jsonCodec.decode(source);
print(res['a']['b']);
}
Результат выполнения кода:
"abcde"
Смотрите также
-
класс
JsonCodec,
который кодирует и декодирует JSON -
метод
encode,
который преобразует объект в JSON-строку -
функция
jsonDecode,
которая декодирует JSON-строку -
функция
jsonEncode,
которая кодирует объект в JSON-строку