Sdílet prostřednictvím


Convert JSON to XML (Převést JSON na XML)

PLATÍ PRO: Všechny úrovně služby API Management

Zásada json-to-xml převede text požadavku nebo odpovědi z JSON na XML.

Poznámka:

Nastavte prvky zásad a podřízené prvky v pořadí uvedeném v prohlášení o zásadách. Přečtěte si další informace o tom, jak nastavit nebo upravit zásady služby API Management.

Prohlášení o zásadách

<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" />

Atributy

Atribut Popis Požaduje se Výchozí
apply Atribut musí být nastaven na jednu z následujících hodnot.

- always - vždy použít převod.
- content-type-json – převede pouze v případě, že hlavička Content-Type odpovědi označuje přítomnost JSON.

Výrazy zásad jsou povolené.
Yes
zvažte-accept-header Atribut musí být nastaven na jednu z následujících hodnot.

- true - použít převod, pokud xml je požadována v hlavičce Accept požadavku.
- false - vždy použít převod.

Výrazy zásad jsou povolené.
No true
parse-date Při nastavení hodnot kalendářních false dat se během transformace jednoduše zkopírují. Výrazy zásad nejsou povolené. No true
Oddělovač oboru názvů Znak, který se má použít jako oddělovač oboru názvů. Výrazy zásad jsou povolené. No Podtržítko
předpona oboru názvů Řetězec, který identifikuje vlastnost jako atribut oboru názvů, obvykle "xmlns". Vlastnosti s názvy začínající zadanou předponou budou přidány do aktuálního prvku jako deklarace oboru názvů. Výrazy zásad jsou povolené. No
attribute-block-name Při nastavení se vlastnosti uvnitř pojmenovaného objektu přidají do elementu jako atributy. Výrazy zásad jsou povolené. No Nenastaveno

Využití

  • Oddíly zásad: příchozí, odchozí, při chybě
  • Obory zásad: globální, pracovní prostor, produkt, rozhraní API, operace
  • Brány: Classic, v2, consumption, self-host, workspace

Příklad

Vezměte v úvahu následující zásady:

<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>

Pokud back-end vrátí následující 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"
        }
      }
    }
  }
}

Odpověď XML na klienta bude:

<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>

Další informace o práci se zásadami najdete v tématech: