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

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>

Weitere Informationen zum Arbeiten mit Richtlinien finden Sie hier: