функция JSON::printOn

Представляет объект в формата JSON и записывает результат в поток

Синтаксис

static
void
JSON.printOn
(Object object, StringBuffer output)

Передаваемые параметры

Object object, StringBuffer output

Возвращаемое значение

void

Описание

Метод printOn сериализует объект Object object в формате JSON и добавляет результат в поток StringBuffer output, в остальном поведение метода аналогично методу stringify.

Стоит отметить, что в случае, если при сериализации данных произошла какая-либо ошибка, некоторые данные все равно могуть будть добавлены в потоку StringBuffer output, но они не будут являться корректными данными в формате JSON.

  • В случае, если заданный объект, или одну из его составных частей невозможно сериализовать в JSON-строку то, генерируется ошибка типа JsonUnsupportedObjectError.

Заметки

Примеры использования:


import "dart:json";

void main() {
  // определеим строковый буфер
  StringBuffer outputBuffer = new StringBuffer();

  // запишим в буфер первый массив в формате JSON
  JSON.printOn([1, 2, 3, 4, 5], outputBuffer);

  // запишим в буфер второй массив в формате JSON
  JSON.printOn([5, 4, 3, 2, 1], outputBuffer);

  // в итоге получим строку '[1,2,3,4,5][5,4,3,2,1]'
  print(outputBuffer.toString());


  // очистим строковый буфер
  outputBuffer.clear();

  // попробуем сериализовать в буфер еще один массив,
  // но на этот раз с ошибкой - класс Date не поддерживает
  // сериализацию в JSON
  try {
    JSON.printOn([5, 4, 3, 2, new Date.now()], outputBuffer);
  } on JsonUnsupportedObjectError catch (e) {
  }

  // в итоге получим неполнуб строку '[5,4,3,2,',
  // потому что процесс сериализации прервался на
  // последнем элементе массива
  print(outputBuffer.toString());
}
						

Официальная документация (английский)