تحويل JSON إلى XML

ينطبق على: جميع مستويات إدارة واجهة برمجة التطبيقات

يحول النهج json-to-xml طلبًا أو نص استجابة منJavaScript Object Notation to XML.

إشعار

تعيين عناصر النهج والعناصر التابعة بالترتيب الوارد في بيان النهج. تعلم كيفية إعداد نُهج APIM أو تعديلها.

نهج السياسة

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

سمات

السمة ‏‏الوصف مطلوبة افتراضي
تطبيق يجب تعيين السمة على إحدى القيم التالية.

- always - تطبيق التحويل دائما.
- content-type-json - التحويل فقط إذا كان عنوان نوع المحتوى للاستجابة يشير إلى وجود JSON.

يتم السماح بتعبيرات النهج.
‏‏نعم‬ غير متوفر
consider-accept-header يجب تعيين السمة على إحدى القيم التالية.

- true - تطبيق التحويل إذا تم طلب XML في عنوان قبول الطلب.
- false - تطبيق التحويل دائما.

يتم السماح بتعبيرات النهج.
لا true
parse-date عند التعيين إلى false قيم التاريخ، يتم نسخها ببساطة أثناء التحويل. تعبيرات النهج غير مسموح بها. لا true
فاصل مساحة الاسم الحرف المراد استخدامه كفاصل مساحة اسم. يتم السماح بتعبيرات النهج. لا تسطير سفلي
بادئة مساحة الاسم السلسلة التي تعرف الخاصية كسمة مساحة الاسم، عادة "xmlns". ستتم إضافة الخصائص ذات الأسماء التي تبدأ بالبادئة المحددة إلى العنصر الحالي كتصريحات لمساحة الاسم. يتم السماح بتعبيرات النهج. لا ‏‫غير متاح
اسم كتلة السمة عند التعيين، ستتم إضافة خصائص داخل الكائن المسمى إلى العنصر كسمات. يتم السماح بتعبيرات النهج. لا غير معين

الاستخدام

  • أقسام النهج: وارد وصادر وعند حدوث الخطأ
  • نطاقات النهج: العمومية، ومساحة العمل، والمنتج، وواجهة برمجة التطبيقات، والتشغيل
  • البوابات: الكلاسيكية، الإصدار 2، الاستهلاك، المستضافة ذاتيا

مثال

ضع في اعتبارك النهج التالي:

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

إذا كانت الواجهة الخلفية ترجع 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"
        }
      }
    }
  }
}

ستكون استجابة XML للعميل:

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

لمزيد من المعلومات حول العمل مع النُهج، راجع: