Konwertuj format JSON na XML

DOTYCZY: Wszystkie warstwy usługi API Management

Zasady json-to-xml konwertują treść żądania lub odpowiedzi z formatu JSON na XML.

Uwaga

Ustaw elementy zasad i elementy podrzędne w kolejności podanej w instrukcji zasad. Dowiedz się więcej na temat ustawiania lub edytowania zasad usługi API Management.

Instrukcja zasad

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

Atrybuty

Atrybut opis Wymagani Wartość domyślna
apply Atrybut musi być ustawiony na jedną z następujących wartości.

- always — zawsze stosuje konwersję.
- content-type-json — konwertuj tylko wtedy, gdy nagłówek content-type odpowiedzi wskazuje obecność kodu JSON.

Wyrażenia zasad są dozwolone.
Tak Nie dotyczy
rozważanie-akceptowanie nagłówka Atrybut musi być ustawiony na jedną z następujących wartości.

- true - zastosuj konwersję, jeśli żądanie XML jest żądane w żądaniu Zaakceptuj nagłówek.
- false — zawsze stosuje konwersję.

Wyrażenia zasad są dozwolone.
Nie. true
analizowanie daty Po ustawieniu false wartości daty są po prostu kopiowane podczas przekształcania. Wyrażenia zasad nie są dozwolone. Nie. true
separator przestrzeni nazw Znak, który ma być używany jako separator przestrzeni nazw. Wyrażenia zasad są dozwolone. Nie. Podkreślenie
prefiks przestrzeni nazw Ciąg identyfikujący właściwość jako atrybut przestrzeni nazw, zwykle "xmlns". Właściwości o nazwach rozpoczynających się od określonego prefiksu zostaną dodane do bieżącego elementu jako deklaracje przestrzeni nazw. Wyrażenia zasad są dozwolone. Nie. Nie dotyczy
nazwa-blok-atrybutu Po ustawieniu właściwości wewnątrz nazwanego obiektu zostaną dodane do elementu jako atrybuty. Wyrażenia zasad są dozwolone. Nie. Nie ustawiono

Użycie

  • Sekcje zasad: ruch przychodzący, ruch wychodzący, on-error
  • Zakresy zasad: globalny, obszar roboczy, produkt, interfejs API, operacja
  • Bramy: klasyczne, v2, zużycie, self-hosted

Przykład

Rozważ następujące zasady:

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

Jeśli zaplecze zwraca następujący kod 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"
        }
      }
    }
  }
}

Odpowiedź XML na klienta będzie:

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

Aby uzyskać więcej informacji na temat pracy z zasadami, zobacz: