Convertir JSON a XML
SE APLICA A: todos los niveles de API Management
La directiva json-to-xml
convierte un cuerpo de solicitud o respuesta de JSON a XML.
Nota:
Establezca los elementos de la directiva y los elementos secundarios en el orden proporcionado en la instrucción de directiva. Obtenga más información sobre el establecimiento o modificación de directivas de API Management.
Instrucción de la directiva
<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 | Descripción | Necesario | Valor predeterminado |
---|---|---|---|
apply | El atributo debe establecerse en uno de los siguientes valores. - always : indica que se debe aplicar siempre la conversión.- content-type-json : especifica que solo se debe realizar la conversión si el encabezado Content-Type indica la presencia de JSON.Se permiten expresiones de directiva. |
Sí | N/D |
consider-accept-header | El atributo debe establecerse en uno de los siguientes valores. - true : especifica que se debe aplicar la conversión si se solicita XML en el encabezado de aceptación (Accept) de la solicitud.- false : indica que se debe aplicar siempre la conversión.Se permiten expresiones de directiva. |
No | true |
parse-date | Cuando se establece en false , los valores de fecha simplemente se copian durante la transformación. No se permiten expresiones de directiva. |
No | true |
namespace-separator | Carácter que se va a usar como separador de espacio de nombres Se permiten expresiones de directiva. | No | Guión bajo |
namespace-prefix | Cadena que identifica la propiedad como atributo de espacio de nombres, normalmente "xmlns". Las propiedades con nombres que comienzan por el prefijo especificado se agregarán al elemento actual como declaraciones de espacio de nombres. Se permiten expresiones de directiva. | No | N/D |
attribute-block-name | Cuando se establece, las propiedades dentro del objeto con nombre se agregarán al elemento como atributos. Se permiten expresiones de directiva. | No | Sin establecer |
Uso
- Secciones de directiva: entrante, saliente, en error
- Ámbitos de la directiva: global, área de trabajo, producto, API, operación
- Puertas de enlace: clásica, v2, consumo, autohospedada y área de trabajo
Ejemplo
Considere la siguiente directiva:
<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>
Si el back-end devuelve el siguiente código 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"
}
}
}
}
}
La respuesta XML al 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>
Directivas relacionadas
Contenido relacionado
Para más información sobre el trabajo con directivas, vea:
- Tutorial: Transformación y protección de una API
- Referencia de directivas para una lista completa de instrucciones de directivas y su configuración
- Expresiones de directiva
- Establecimiento o edición de directivas
- Reutilización de configuraciones de directivas
- Repositorio de fragmentos de código de directiva
- Creación de directivas mediante Microsoft Copilot en Azure