Converter JSON em XML
APLICA-SE A: Todas as camadas de gerenciamento de API
A json-to-xml
política converte um corpo de solicitação ou resposta de JSON para XML.
Nota
Defina os elementos da política e os elementos filho na ordem fornecida na declaração de política. Saiba mais sobre como definir ou editar políticas de Gerenciamento de API.
Declaração de política
<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" />
Atributos
Atributo | Description | Necessário | Predefinição |
---|---|---|---|
apply | O atributo deve ser definido como um dos seguintes valores. - always - Aplique sempre a conversão.- content-type-json - converter somente se o cabeçalho Content-Type da resposta indicar a presença de JSON.São permitidas expressões de política. |
Sim | N/A |
consider-accept-header | O atributo deve ser definido como um dos seguintes valores. - true - aplicar a conversão se o XML for solicitado no cabeçalho Accept da solicitação.- false - Aplique sempre a conversão.São permitidas expressões de política. |
Não | true |
data de análise | Quando definido como data, os valores são simplesmente copiados durante a false transformação. Expressões de política não são permitidas. |
Não | true |
separador de namespace | O caractere a ser usado como separador de namespace. São permitidas expressões de política. | Não | Caráter de sublinhado |
namespace-prefixo | A cadeia de caracteres que identifica a propriedade como atributo de namespace, geralmente "xmlns". Propriedades com nomes começando com prefixo especificado serão adicionadas ao elemento atual como declarações de namespace. São permitidas expressões de política. | No | N/A |
atributo-bloco-nome | Quando definido, as propriedades dentro do objeto nomeado serão adicionadas ao elemento como atributos. São permitidas expressões de política. | Não | Não definido |
Utilização
- Secções de política: entrada, saída, em caso de erro
- Âmbitos de política: global, área de trabalho, produto, API, operação
- Gateways: clássico, v2, consumo, auto-hospedado, espaço de trabalho
Exemplo
Considere a seguinte política:
<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>
Se o back-end retornar o seguinte 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"
}
}
}
}
}
A resposta XML para o cliente será:
<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>
Políticas relacionadas
Conteúdos relacionados
Para obter mais informações sobre como trabalhar com políticas, consulte:
- Tutorial: Transforme e proteja sua API
- Referência de política para uma lista completa de declarações de política e suas configurações
- Expressões de política
- Definir ou editar políticas
- Reutilizar configurações de política
- Recompra de trechos de política
- Kit de ferramentas de política de Gerenciamento de API do Azure
- Criar políticas usando o Microsoft Copilot no Azure