JSON converteren naar XML
VAN TOEPASSING OP: Alle API Management-lagen
Het json-to-xml
beleid converteert een aanvraag- of antwoordtekst van JSON naar XML.
Notitie
Stel de elementen en onderliggende elementen van het beleid in de volgorde in die in de beleidsverklaring is opgegeven. Meer informatie over het instellen of bewerken van API Management-beleid.
Beleidsinstructie
<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" />
Kenmerken
Kenmerk | Beschrijving | Vereist | Standaardinstelling |
---|---|---|---|
toepassen | Het kenmerk moet worden ingesteld op een van de volgende waarden. - always - altijd conversie toepassen.- content-type-json - converteer alleen als de header Van het antwoordinhoudstype de aanwezigheid van JSON aangeeft.Beleidsexpressies zijn toegestaan. |
Ja | N.v.t. |
consider-accept-header | Het kenmerk moet worden ingesteld op een van de volgende waarden. - true - conversie toepassen als XML wordt aangevraagd in aanvraag accepteren header.- false - altijd conversie toepassen.Beleidsexpressies zijn toegestaan. |
Nee | true |
parseringsdatum | Wanneer deze waarde is ingesteld op false datumwaarden, worden tijdens de transformatie gewoon gekopieerd. Beleidsexpressies zijn niet toegestaan. |
Nee | true |
scheidingsteken voor naamruimte | Het teken dat moet worden gebruikt als scheidingsteken voor een naamruimte. Beleidsexpressies zijn toegestaan. | Nee | Onderstrepingsteken |
naamruimte-voorvoegsel | De tekenreeks die de eigenschap identificeert als naamruimtekenmerk, meestal 'xmlns'. Eigenschappen met namen die beginnen met het opgegeven voorvoegsel, worden als naamruimtedeclaraties toegevoegd aan het huidige element. Beleidsexpressies zijn toegestaan. | Nee | N.v.t. |
kenmerk-bloknaam | Wanneer dit is ingesteld, worden eigenschappen in het benoemde object als kenmerken toegevoegd aan het element. Beleidsexpressies zijn toegestaan. | Nee | Niet ingesteld |
Gebruik
- Beleidssecties: inkomend, uitgaand, on-error
- Beleidsbereik: globaal, werkruimte, product, API, bewerking
- Gateways: klassiek, v2, verbruik, zelf-hostend, werkruimte
Opmerking
Houd rekening met het volgende beleid:
<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>
Als de back-end de volgende JSON retourneert:
{
"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"
}
}
}
}
}
Het XML-antwoord op de client is:
<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>
Gerelateerd beleid
Gerelateerde inhoud
Zie voor meer informatie over het werken met beleid:
- Zelfstudie: Uw API transformeren en beveiligen
- Beleidsreferentie voor een volledige lijst met beleidsinstructies en hun instellingen
- Beleidsexpressies
- Beleid instellen of bewerken
- Beleidsconfiguraties opnieuw gebruiken
- Beleidsfragmentenopslagplaats
- Beleid ontwerpen met Behulp van Microsoft Copilot in Azure