Convert JSON to XML
S’APPLIQUE À : tous les niveaux de Gestion des API
La stratégie json-to-xml
convertit le corps de la demande ou de la réponse de JSON en XML.
Notes
Définissez les éléments enfants et de stratégie dans l’ordre fourni dans l’instruction de stratégie. En savoir plus sur comment définir ou modifier des stratégies du service Gestion des API.
Instruction de la stratégie
<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" />
Attributs
Attribut | Description | Obligatoire | Default |
---|---|---|---|
apply | L’attribut doit avoir l’une des valeurs suivantes. - always : toujours appliquer la conversion.- content-type-json : ne convertir que si l’en-tête de réponse Content-Type indique la présence de JSON.Les expressions de stratégie sont autorisées. |
Oui | N/A |
consider-accept-header | L’attribut doit avoir l’une des valeurs suivantes. - true : appliquer la conversion si le format XML est demandé dans l’en-tête d’acceptation de la demande.- false : toujours appliquer la conversion.Les expressions de stratégie sont autorisées. |
Non | true |
date de l’analyse | Quand les valeurs de date sont définies sur false , elles sont simplement copiées lors de la transformation. Les expressions de stratégie ne sont pas autorisées. |
Non | true |
namespace-separator | Caractère à utiliser comme séparateur d’espace de noms. Les expressions de stratégie sont autorisées. | No | Trait de soulignement |
namespace-prefix | Chaîne qui identifie la propriété en tant qu’attribut d’espace de noms, généralement « xmlns ». Les propriétés dont les noms commencent par le préfixe spécifié sont ajoutées à l’élément actuel en tant que déclarations d’espace de noms. Les expressions de stratégie sont autorisées. | Non | N/A |
attribute-block-name | Quand il est défini, les propriétés à l’intérieur de l’objet nommé sont ajoutées à l’élément en tant qu’attributs. Les expressions de stratégie sont autorisées. | No | Non défini |
Usage
- Sections de la stratégie : inbound, outbound, on-error
- Étendues de la stratégie : global, espace de travail, produit, API, opération
- Passerelles : classiques, v2, consommation, auto-hébergées, espace de travail
Exemple
Observez la stratégie suivante :
<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 le back-end retourne le code JSON suivant :
{
"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 réponse XML au client est la suivante :
<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>
Stratégies connexes
Contenu connexe
Pour plus d’informations sur l’utilisation des stratégies, consultez :
- Tutoriel : Transformer et protéger votre API
- Référence de stratégie pour obtenir la liste complète des instructions et des paramètres de stratégie
- Expressions de stratégie
- Définir ou modifier des stratégies
- Réutilisation de configurations de stratégie
- Référentiel d’extrait de stratégie
- Créer des stratégies à l’aide de Microsoft Copilot dans Azure