РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
559 of 723 menu

Класс JsonUnsupportedObjectError

Класс JsonUnsupportedObjectError представляет собой исключение, которое возникает при попытке преобразовать объект в формат JSON, если этот объект не может быть сериализован стандартными средствами. В первый параметр конструктора мы передаем объект, который не удалось преобразовать. Второй необязательный параметр принимает частичный результат преобразования. Третий необязательный параметр принимает причину ошибки. Данный класс наследуется от класса Error.

Синтаксис

JsonUnsupportedObjectError(unsupportedObject, [partialResult, cause])

Свойства

Класс JsonUnsupportedObjectError обладает следующими свойствами:

unsupportedObject - объект, который не удалось преобразовать в JSON.

partialResult - частичный результат преобразования, если таковой имеется.

cause - причина возникновения ошибки.

Пример

Давайте попробуем преобразовать в JSON объект, который не поддерживается стандартным кодировщиком:

import 'dart:convert'; void main() { try { Map<String, dynamic> data = { 'name': 'abcde', 'callback': () => print('hello'), }; print(jsonEncode(data)); } catch (e) { print(e); } }

Результат выполнения кода:

"JsonUnsupportedObjectError: Converting object to an encodable object failed: Closure: () => void"

Пример

Давайте перехватим ошибку и выведем объект, который не удалось преобразовать:

import 'dart:convert'; void main() { try { Map<String, dynamic> data = { 'value': '12345', 'action': () => 1, }; print(jsonEncode(data)); } on JsonUnsupportedObjectError catch (e) { print('Error: ${e.unsupportedObject}'); } }

Результат выполнения кода:

"Error: Closure: () => int"

Пример

Давайте проверим, что простые типы данных преобразуются без ошибок:

import 'dart:convert'; void main() { Map<String, dynamic> data = { 'name': 'abcde', 'age': 25, 'items': [1, 2, 3, 4, 5], }; print(jsonEncode(data)); }

Результат выполнения кода:

"{"name":"abcde","age":25,"items":[1,2,3,4,5]}"

Смотрите также

  • метод encode,
    который преобразует объект в JSON-строку
  • метод decode,
    который преобразует JSON-строку в объект
  • функция jsonEncode,
    которая кодирует объект в JSON
  • функция jsonDecode,
    которая декодирует JSON-строку
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить