Функция 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вторая строка"