Преобразование JSON в XML
ОБЛАСТЬ ПРИМЕНЕНИЯ: все уровни Управление API
Политика json-to-xml
преобразует текст запроса или ответа в формате JSON в формат XML.
Примечание.
Задайте элементы политики и дочерние элементы в порядке, указанном в правиле политики. Узнайте, как устанавливать или изменять политики службы управления API.
Правило политики
<json-to-xml
apply="always | content-type-json"
consider-accept-header="true | false"
parse-date="true | false"
namespace-separator="separator character"
namespace-prefix="namespace prefix"
attribute-block-name="name" />
Атрибуты
Атрибут | Description | Обязательное поле | По умолчанию. |
---|---|---|---|
apply | Для атрибута нужно задать одно из следующих значений: - always — всегда применять преобразование.- content-type-json — преобразуется только в том случае, если заголовок content-Type ответа указывает на наличие JSON.Допустимы выражения политики. |
Да | Н/П |
consider-accept-header | Для атрибута нужно задать одно из следующих значений: - true — примените преобразование, если XML запрашивается в заголовке accept запроса.- false — всегда применять преобразование.Допустимы выражения политики. |
No | true |
parse-date | Если задано значение false даты, они просто копируются во время преобразования. Выражения политики не допускаются. |
No | true |
namespace-separator | Символ, используемый в качестве разделителя пространства имен. Допустимы выражения политики. | No | Подчеркивание |
namespace-prefix | Строка, определяющая свойство как атрибут пространства имен, обычно "xmlns". Свойства с именами, начиная с указанного префикса, будут добавлены в текущий элемент в качестве объявлений пространства имен. Допустимы выражения политики. | No | Н/П |
attribute-block-name | При установке свойства внутри именованного объекта будут добавлены в элемент в качестве атрибутов. Допустимы выражения политики. | No | Не установлено |
Использование
- Разделы политики: входящий трафик, исходящий трафик, при возникновении ошибок
- Области политики: глобальная, рабочая область, продукт, API, операция
- Шлюзы: классическая, версия 2, потребление, локальное размещение, рабочая область
Пример
Примите во внимание следующую политику:
<policies>
<inbound>
<base />
</inbound>
<outbound>
<base />
<json-to-xml apply="always" consider-accept-header="false" parse-date="false" namespace-separator=":" namespace-prefix="xmlns" attribute-block-name="#attrs" />
</outbound>
</policies>
Если серверная часть возвращает следующий код JSON:
{
"soapenv:Envelope": {
"xmlns:soapenv": "http://schemas.xmlsoap.org/soap/envelope/",
"xmlns:v1": "http://localdomain.com/core/v1",
"soapenv:Header": {},
"soapenv:Body": {
"v1:QueryList": {
"#attrs": {
"queryName": "test"
},
"v1:QueryItem": {
"name": "dummy text"
}
}
}
}
}
XML-ответ клиента будет следующим:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://localdomain.com/core/v1">
<soapenv:Header />
<soapenv:Body>
<v1:QueryList queryName="test">
<name>dummy text</name>
</v1:QueryList>
</soapenv:Body>
</soapenv:Envelope>
Связанные политики
Связанный контент
Дополнительные сведения о работе с политиками см. в нижеуказанных статьях.
- Руководство. Преобразование и защита API
- Полный перечень операторов политик и их параметров см. в справочнике по политикам.
- Выражения политики
- Настройка или изменение политик
- Повторное использование конфигураций политик
- Репозиторий фрагментов политик
- Набор средств политики Управление API Azure
- Создание политик с помощью Microsoft Copilot в Azure