Функция 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_ДЕКОДИРОВАТЬ(кур.ТЕКСТ, текст) ТО
_ОШИБКА("ошибка декодирования")
КОНЕЦ_ЕСЛИ
ИНАЧЕ
текст = кур.ТЕКСТ
КОНЕЦ_ЕСЛИ