Convert JSON to XML (Konvertieren von JSON in XML)
GILT FÜR: Alle API Management-Ebenen
Die Richtlinie json-to-xml
konvertiert einen Anforderungs- oder Antworttext von JSON in XML.
Hinweis
Legen Sie die Elemente und untergeordneten Elemente einer Richtlinie in der Reihenfolge fest, die in der Richtlinienanweisung angegeben ist. Erfahren Sie mehr darüber, wie Sie API Management-Richtlinien festlegen oder bearbeiten.
Richtlinienanweisung
<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" />
Attribute
Attribut | BESCHREIBUNG | Erforderlich | Standard |
---|---|---|---|
apply | Das Attribut muss auf einen der folgenden Werte festgelegt werden. - always : Konvertierung immer anwenden.- content-type-json : Nur konvertieren, wenn der Content-Type-Header der Antwort das Vorhandensein von JSON angibt.Richtlinienausdrücke sind zulässig. |
Ja | – |
consider-accept-header | Das Attribut muss auf einen der folgenden Werte festgelegt werden. - true : Konvertierung anwenden, wenn XML im Accept-Header der Anforderung angefordert wird.- false : Konvertierung immer anwenden.Richtlinienausdrücke sind zulässig. |
Nein | true |
parse-date | Bei Festlegung auf false werden Datumswerte während der Transformation einfach kopiert. Richtlinienausdrücke sind nicht zulässig. |
Nein | true |
namespace-separator | Das Zeichen, das als Namespacetrennzeichen verwendet werden soll. Richtlinienausdrücke sind zulässig. | No | Unterstrich |
namespace-prefix | Die Zeichenfolge, die die Eigenschaft als Namespaceattribut identifiziert, in der Regel „xmlns“. Eigenschaften mit Namen, die mit dem angegebenen Präfix beginnen, werden dem aktuellen Element als Namespacedeklarationen hinzugefügt. Richtlinienausdrücke sind zulässig. | Nein | – |
attribute-block-name | Wird dieses Attribut festgelegt, werden Eigenschaften innerhalb des benannten Objekts dem Element als Attribute hinzugefügt. Richtlinienausdrücke sind zulässig. | No | Nicht festgelegt |
Verwendung
- Richtlinienabschnitte: inbound, outbound, on-error
- Richtlinienbereiche: global, Arbeitsbereich, Produkt, API, Vorgang
- Gateways: klassisch, v2, Verbrauch, selbstgehostet, Arbeitsbereich
Beispiel
Beachten Sie die folgende Richtlinie:
<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>
Das Back-End gibt den folgenden JSON-Code zurück:
{
"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"
}
}
}
}
}
Die XML-Antwort an den Client lautet dann wie folgt:
<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>
Verwandte Richtlinien
Zugehöriger Inhalt
Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier:
- Tutorial: Transformieren und Schützen Ihrer API
- Unter Richtlinien für die API-Verwaltung finden Sie eine komplette Liste der Richtlinienanweisungen und der zugehörigen Einstellungen.
- Richtlinienausdrücke
- Festlegen oder Bearbeiten von Richtlinien
- Wiederverwenden von Richtlinienkonfigurationen
- Repository für Richtliniencodeausschnitte
- Erstellen von Richtlinien mit Microsoft Copilot in Azure