Класс JsonCodec
Класс JsonCodec представляет собой кодек для работы с форматом JSON.
Он объединяет в себе функции кодирования (преобразование объекта Dart в строку JSON)
и декодирования (преобразование строки JSON в объект Dart).
В первом параметре метода encode мы передаем объект для кодирования.
В первом параметре метода decode мы передаем строку JSON для декодирования.
Класс также имеет свойство encoder, возвращающее объект JsonEncoder,
и свойство decoder, возвращающее объект JsonDecoder.
Синтаксис
// Создание экземпляра класса
JsonCodec()
// Методы класса
jsonCodec.encode(object)
jsonCodec.decode(source)
Пример
Давайте закодируем простую карту в строку JSON:
import 'dart:convert';
void main()
{
JsonCodec codec = JsonCodec();
Map<String, dynamic> data = {'a': 1, 'b': 2, 'c': 3};
String res = codec.encode(data);
print(res);
}
Результат выполнения кода:
'{"a":1,"b":2,"c":3}'
Пример
Давайте декодируем строку JSON обратно в карту:
import 'dart:convert';
void main()
{
JsonCodec codec = JsonCodec();
String source = '{"a":1,"b":2,"c":3}';
Map<String, dynamic> res = codec.decode(source);
print(res);
}
Результат выполнения кода:
{a: 1, b: 2, c: 3}
Пример
Давайте закодируем список в строку JSON:
import 'dart:convert';
void main()
{
JsonCodec codec = JsonCodec();
List<int> data = [1, 2, 3, 4, 5];
String res = codec.encode(data);
print(res);
}
Результат выполнения кода:
'[1,2,3,4,5]'
Смотрите также
-
метод
encode,
который кодирует объект в строку JSON -
метод
decode,
который декодирует строку JSON в объект -
функция
jsonEncode,
которая является сокращением для вызова метода encode -
функция
jsonDecode,
которая является сокращением для вызова метода decode