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

Функция JSON_КОДИРОВАТЬ

Строковые данные в JSON заключаются в кавычки. Для символов "кавычка", "обратный слэш" и специальных символов используются последовательности, начинающиеся с обратного слеша. Например, символ табуляции (ASCII 9) представляется как "\t", a символ ASCII 4 как "\u0004". При разборе JSON такие последовательности преобразуются в "сырые" данные. Чтобы записать такие данные в XML их нужно снова закодировать. Необходимость кодирования конкретной строки можно выяснить функцией JSON_НУЖНО_КОДИРОВАТЬ.

Функция используется при формировании XML, предназначенного для последующего преобразования в JSON функцией XML_В_JSON. См. также формат XML для представления значения JSON.

ФУНКЦИЯ СТРОКА: JSON_КОДИРОВАТЬ(СТРОКА: текст)

Параметры

текст
Текст, для которого выполняется кодирование специальных символов и заключение в кавычки.

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

Закодированный текст.

Необходимость кодирования определяется наличием в строке специальных символов (ASCII 0 - 31) или пробельных символов в начале или конце строки. Кодирование выполняется для того, чтобы исходные данные не исказились при записи текста в XML (в т.ч. из-за применения форматирования). XML элемент, содержащий закодированный текст, должен иметь атрибут quoted со значением true.

Для упрощения представления данных JSON в XML строки, которые не требуют кодирования и заключения в кавычки, записываются в XML непосредственно. Для таких узлов XML атрибут quoted должен отсутствовать или быть равным false. Типичная ситуация, когда строк не требующих кодирования большинство. Наиболее характерный случай, когда кодирование необходимо – это многострочный текст.

Если функция вызвана для строки не требующей кодирования, то просто будут добавлены кавычки.

Пример

ПЕРЕМ стр1 = JSON_КОДИРОВАТЬ("Вася") // "Вася"
ПЕРЕМ стр2 = JSON_КОДИРОВАТЬ("ООО ""Ромашка""") // "ООО \"Ромашка\""
ПЕРЕМ стр3 = JSON_КОДИРОВАТЬ("Первая строка^r^sвторая строка") // "Первая строка\r\nвторая строка"

См. также: