Руководство разработчика

Формат XML для представления значения JSON

JSON значение может быть представлено XML специальной структуры, т.к. для работы с XML имеются средства как в Инфо-Бухгалтер 10, так и Инфо-Бухгалтер 8. Такой подход не требует создания аналогичного семейства функций для работы с JSON.

При работе с JSON возникают две задачи:

Структура XML должна представлять значения разных типов: объекты, массивы, числа и др. Преобразование из JSON в XML и обратно должно выполняться без потерь.

Корневой элемент XML имеет имя json. В каждом элементе XML может быть атрибут type описывающий тип соответствующего JSON-значения. Допускается отсутствие этого атрибута для значений строкового типа (принцип "строки по умолчанию" для сокращения объема XML). Атрибут type может принимать следующие значения:

Строковые значения могут сохраняться в XML в двух вариантах. Простые строки, не содержащие специальных символов, а также пробельных символов в начале или конце, сохраняются в текст XML элемента непосредственно. Другие строки, например многострочный текст, кодируются по правилам JSON. Кодирование заключается в том, что текст заключается в кавычки, а специальные символы и символы кавычки, обратного слэша экранируются. Если XML элемент содержит кодированный текст, то он должен иметь атрибут quoted="true". При чтении данных из XML необходимо проверять атрибут quoted и, при обнаружении значения "true", выполнять декодирование текста.


См. также: