Метод encode
Метод encode класса JsonCodec преобразует
объект Dart в строку формата JSON. В первый параметр
мы передаем объект, который нужно закодировать. Второй
необязательный параметр toEncodable принимает
функцию, которая вызывается для объектов, не
поддерживающих прямое кодирование в JSON.
Синтаксис
json.encode(object, [toEncodable])
Пример
Давайте закодируем простую строку в формат JSON:
import 'dart:convert';
void main()
{
var res = json.encode('abcde');
print(res);
}
Результат выполнения кода:
"abcde"
Пример
Давайте закодируем список в формат JSON:
import 'dart:convert';
void main()
{
var res = json.encode([1, 2, 3, 4, 5]);
print(res);
}
Результат выполнения кода:
[1,2,3,4,5]
Пример
Давайте закодируем словарь в формат JSON:
import 'dart:convert';
void main()
{
var res = json.encode({'a': 1, 'b': 2, 'c': 3});
print(res);
}
Результат выполнения кода:
{"a":1,"b":2,"c":3}
Пример
Давайте закодируем вложенную структуру из словаря и списка в формат JSON:
import 'dart:convert';
void main()
{
var data = {
'name': 'abcde',
'values': [1, 2, 3, 4, 5],
};
var res = json.encode(data);
print(res);
}
Результат выполнения кода:
{"name":"abcde","values":[1,2,3,4,5]}
Пример
Давайте передадим вторым параметром функцию
toEncodable, которая преобразует объект,
не поддерживаемый кодировщиком по умолчанию:
import 'dart:convert';
class Point
{
int x;
int y;
Point(this.x, this.y);
}
void main()
{
var point = Point(1, 2);
var res = json.encode(
point,
(object) => {'x': object.x, 'y': object.y},
);
print(res);
}
Результат выполнения кода:
{"x":1,"y":2}
Смотрите также
-
метод
decode,
который декодирует JSON строку в объект Dart -
функция
jsonEncode,
которая является сокращением для вызова encode -
класс
JsonEncoder,
который выполняет кодирование объектов в JSON -
параметр
toEncodable,
который задает функцию для нестандартных объектов