Функция JSON_ДЕКОДИРОВАТЬ
Функция используется при чтении XML, полученного в результате преобразования из JSON функцией JSON_В_XML. См. также формат XML для представления значения JSON.
ФУНКЦИЯ ЛОГИКА: JSON_ДЕКОДИРОВАТЬ(СТРОКА: json; ПЕРЕМ СТРОКА: текст)
Параметры
- json
- Закодированный в представлении JSON текст в кавычках.
- текст
- Выходной параметр. Декодированный текст.
Возвращаемое значение
ДА – в случае успешного декодирования, НЕТ – в случае ошибки.
На то, что в XML элементе содержится закодированный текст, указывает наличие атрибута quoted со значением true.
Для упрощения представления данных JSON в XML строки, которые не требуют кодирования и заключения в кавычки, записываются в XML непосредственно. Для таких узлов XML атрибут quoted должен отсутствовать или быть равным false. Типичная ситуация, когда строк не требующих кодирования большинство. Наиболее характерный случай, когда кодирование (и декодирование) необходимо – это многострочный текст.
Пример
ПЕРЕМ XML_КУРСОР: кур //... ПЕРЕМ текст = "" ПЕРЕМ текст_закодирован = НЕТ ЕСЛИ кур.СУЩ_АТРИБУТ("quoted") ТО текст_закодирован = кур.АТРИБУТ("quoted") = "true" КОНЕЦ_ЕСЛИ ЕСЛИ текст_закодирован ТО ЕСЛИ НЕ JSON_ДЕКОДИРОВАТЬ(кур.ТЕКСТ, текст) ТО _ОШИБКА("ошибка декодирования") КОНЕЦ_ЕСЛИ ИНАЧЕ текст = кур.ТЕКСТ КОНЕЦ_ЕСЛИ