Библиотеки » JSON (dart:json) » JSON » printOn
функция JSON::printOn
Представляет объект в формата JSON и записывает результат в поток
Синтаксис
staticvoid
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());
}