Bagikan melalui


Mengonversi JSON ke XML

BERLAKU UNTUK: Semua tingkatAN API Management

Kebijakan json-to-xml ini mengonversi bodi permintaan atau respons dari JSON ke XML.

Catatan

Tetapkan elemen kebijakan dan elemen turunan dalam urutan yang disediakan dalam pernyataan kebijakan. Pelajari lebih lanjut cara mengatur atau mengedit kebijakan API Management.

Pernyataan kebijakan

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

Atribut

Atribut Deskripsi Wajib diisi Default
terapkan Atribut harus diatur ke salah satu nilai berikut.

- always - selalu terapkan konversi.
- content-type-json - konversi hanya jika respons header Content-Type menunjukkan adanya JSON.

Ekspresi kebijakan diizinkan.
Ya T/A
consider-accept-header Atribut harus diatur ke salah satu nilai berikut.

- true - terapkan konversi jika XML diminta dalam permintaan Terima header.
- false - selalu terapkan konversi.

Ekspresi kebijakan diizinkan.
No true
parse-date Ketika diatur ke false nilai tanggal hanya disalin selama transformasi. Ekspresi kebijakan tidak diizinkan. No true
namespace-separator Karakter yang digunakan sebagai pemisah namespace. Ekspresi kebijakan diizinkan. No Garis bawah
namespace-prefix String yang mengidentifikasi properti sebagai atribut namespace, biasanya "xmlns". Properti dengan nama yang dimulai dengan awalan yang ditentukan akan ditambahkan ke elemen saat ini sebagai deklarasi namespace. Ekspresi kebijakan diizinkan. No T/A
attribute-block-name Saat diatur, properti di dalam objek bernama akan ditambahkan ke elemen sebagai atribut. Ekspresi kebijakan diizinkan. No Belum diatur

Penggunaan

Contoh

Pertimbangkan kebijakan berikut:

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

Jika backend mengembalikan JSON berikut:

{
  "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"
        }
      }
    }
  }
}

Respons XML ke klien adalah:

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

Untuk informasi selengkapnya tentang bekerja dengan kebijakan, lihat: