метод convert
- Object? object
Преобразует object в JSON-строку String.
Напрямую сериализуемыми значениями являются num, String, bool и Null, а также некоторые значения List и Map. Для List все элементы должны быть сериализуемыми. Для Map ключи должны иметь тип String, а значения должны быть сериализуемыми.
Если предпринимается попытка сериализовать значение любого другого типа, вызывается функция toEncodable, переданная в конструктор, и значение передаётся ей в качестве аргумента. Результат, который должен быть напрямую сериализуемым значением, сериализуется вместо исходного значения.
Если преобразование вызывает исключение или возвращает значение, которое нельзя сериализовать напрямую, генерируется исключение JsonUnsupportedObjectError. Если вызов вызывает исключение, ошибка перехватывается и сохраняется в поле cause объекта JsonUnsupportedObjectError.
Если List или Map содержит ссылку на самого себя — напрямую или через другие списки или карты, — его нельзя сериализовать, и генерируется исключение JsonCyclicError.
object не должен изменяться во время сериализации.
Если объект сериализуется более одного раза, convert может кэшировать его текст. Иными словами, если содержимое объекта изменится после первой сериализации, новые значения могут не отразиться в результате.
Реализация
String convert(Object? object) =>
_JsonStringStringifier.stringify(object, _toEncodable, indent);
© 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/JsonEncoder/convert.html