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

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

См. также: