تحويل مطالبات JavaScript Object Notation

توفر هذه المقالة أمثلة لاستخدام تحويلات مطالبات JSON لمخطط إطار عمل تجربة الهوية في Microsoft Azure Active Directory B2C (Azure AD B2C). لمزيد من المعلومات، راجع تحويلات المطالبات.

CreateJsonArray

إنشاء صفيف عنصر واحد JavaScript Object Notation من قيمة مطالبة. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال إدخال المطالبة سلسلة المطالبة التي ستضاف إلى مطالبة الناتج.
OutputClaim الإخراج سلسلة تم استدعاء سلسلة JavaScript Object Notation التي نتجت بعد تحويل المطالبات هذا.

مثال على CreateJsonArray

يُنشئ المثال التالي صفيف واحد JavaScript Object Notation.

<ClaimsTransformation Id="createlJsonPayload" TransformationMethod="CreateJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:
    • inputClaim: someone@example.com
  • مطالبات الإخراج:
    • مطالبة ناتج: ["someone@contoso.com"]

GenerateJson

استخدم قيم المطالبة أو الثوابت لإنشاء سلسلة JavaScript Object Notation. يتم استخدام سلسلة المسار الواقعة بعد رمز النقطة؛ للإشارة إلى مكان إدراج البيانات في سلسلة JavaScript Object Notation. بعد التقسيم بواسطة النقاط، يتم تفسير أي أعداد صحيحة كفهرس صفيف JavaScript Object Notation، ويتم تفسير الأعداد غير الصحيحة كفهرس عنصر JavaScript Object Notation.

تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال أي سلسلة تقع بعد رمز النقطة سلسلة مسار JavaScript Object Notation من JavaScript Object Notation؛ حيث يتم إدراج قيمة المطالبة فيه.
InputParameter أي سلسلة تقع بعد رمز النقطة سلسلة مسار JavaScript Object Notation من JavaScript Object Notation أين يتم إدراج قيمة المطالبة فيه.
OutputClaim الإخراج سلسلة سلسلة JavaScript Object Notation التي تم إنشاؤها.

صفائف JSON

لإضافة كائنات JSON إلى صفيف JSON، استخدم تنسيق اسم الصفيفوالفهرس في الصفيف. الصفيف يستند إلى صفر. ابدأ من الصفر إلى N، دون تخطي أي رقم. يمكن أن تحتوي العناصر الموجودة في الصفيف على أي كائن. على سبيل المثال، يحتوي العنصر الأول على كائنين، التطبيق ومعرف التطبيق. يحتوي العنصر الثاني على عنصر واحد، برنامج. يحتوي العنصر الثالث على أربعة عناصر، لون، لغة، شعار وخلفية.

يوضح المثال التالي كيفية تكوين صفائف JSON. يستخدم صفيف رسائل البريد الإلكترونيInputClaims مع القيم الديناميكية. يستخدم صفيف القيمInputParameters مع قيم ثابتة.

<ClaimsTransformation Id="GenerateJsonPayload" TransformationMethod="GenerateJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="mailToName1" TransformationClaimType="emails.0.name" />
    <InputClaim ClaimTypeReferenceId="mailToAddress1" TransformationClaimType="emails.0.address" />
    <InputClaim ClaimTypeReferenceId="mailToName2" TransformationClaimType="emails.1.name" />
    <InputClaim ClaimTypeReferenceId="mailToAddress2" TransformationClaimType="emails.1.address" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="values.0.app" DataType="string" Value="Mobile app" />
    <InputParameter Id="values.0.appId" DataType="string" Value="123" />
    <InputParameter Id="values.1.program" DataType="string" Value="Holidays" />
    <InputParameter Id="values.2.color" DataType="string" Value="Yellow" />
    <InputParameter Id="values.2.language" DataType="string" Value="Spanish" />
    <InputParameter Id="values.2.logo" DataType="string" Value="contoso.png" />
    <InputParameter Id="values.2.background" DataType="string" Value="White" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>

نتيجة هذا التحول المطالبات:

{
  "values": [
    {
      "app": "Mobile app",
      "appId": "123"
    },
    {
      "program": "Holidays"
    },
    {
      "color": "Yellow",
      "language": "Spanish",
      "logo": "contoso.png",
      "background": "White"
    }
  ],
  "emails": [
    {
      "name": "Joni",
      "address": "joni@contoso.com"
    },
    {
      "name": "Emily",
      "address": "emily@contoso.com"
    }
  ]
}

لتحديد صفيف JSON في كل من مطالبات الإدخال ومعلمات الإدخال، يجب بدء تشغيل الصفيف في العنصر InputClaims، من صفر إلى N. بعد ذلك، في العنصر InputParameters تابع الفهرس من الفهرس الأخير.

يوضح المثال التالي صفيفا معرفا في كل من مطالبات الإدخال ومعلمات الإدخال. يتم تعريف العنصر الأول من صفيف values.0 القيم في مطالبات الإدخال. تستمر معلمات الإدخال من الفهرس واحد values.1 إلى فهرسين values.2.

<ClaimsTransformation Id="GenerateJsonPayload" TransformationMethod="GenerateJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="app" TransformationClaimType="values.0.app" />
    <InputClaim ClaimTypeReferenceId="appId" TransformationClaimType="values.0.appId"  />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="values.1.program" DataType="string" Value="Holidays" />
    <InputParameter Id="values.2.color" DataType="string" Value="Yellow" />
    <InputParameter Id="values.2.language" DataType="string" Value="Spanish" />
    <InputParameter Id="values.2.logo" DataType="string" Value="contoso.png" />
    <InputParameter Id="values.2.background" DataType="string" Value="White" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>

مثال على GenerateJson

يُنشئ المثال التالي سلسلة JavaScript Object Notation استنادًا إلى قيمة مطالبة "البريد الإلكتروني" و"OTP" وسلاسل ثابتة.

<ClaimsTransformation Id="GenerateRequestBody" TransformationMethod="GenerateJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="personalizations.0.to.0.email" />
    <InputClaim ClaimTypeReferenceId="otp" TransformationClaimType="personalizations.0.dynamic_template_data.otp" />
    <InputClaim ClaimTypeReferenceId="copiedEmail" TransformationClaimType="personalizations.0.dynamic_template_data.verify-email" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="template_id" DataType="string" Value="d-4c56ffb40fa648b1aa6822283df94f60"/>
    <InputParameter Id="from.email" DataType="string" Value="service@contoso.com"/>
    <InputParameter Id="personalizations.0.subject" DataType="string" Value="Contoso account email verification code"/>
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="requestBody" TransformationClaimType="outputClaim"/>
  </OutputClaims>
</ClaimsTransformation>

يقوم تحويل المطالبات التالي بإخراج مطالبة سلسلة JavaScript Object Notation، والتي تصبح نص الطلب المرسل إلى SendGrid (جهة خارجية موفرة للبريد الإلكتروني). يتم تعريف بنية كائن JSON عن طريق المعرفات في تدوين نقطة من معلمات الإدخال وأنواع مطالبات التحويلات في مطالبات الإدخال. تتضمن الأرقام في رمز النقطة المصفوفات. تأتي القيم من قيم مطالبات الإدخال وخصائص "القيمة" معلمات الإدخال.

  • مطالبات الإدخال:
    • email, transformation claim type personalizations.0.to.0.email: "someone@example.com"
    • copiedEmail، نوع تحويل المطالباتpersonalizations.0.dynamic_template_data.verify-email: "someone@example.com"
    • otp، نوع مطالبة التحويل personalizations.0.dynamic_template_data.otp "346349"
  • معلمة الإدخال:
    • template_id: "d-4c56ffb40fa648b1aa6822283df94f60"
    • from.email: "service@contoso.com"
    • personalizations.0.subject "رمز التحقق من البريد الإلكتروني لحساب Contoso"
  • مطالبة الإخراج:
    • مطالبة ناتج:

      {
        "personalizations": [
          {
            "to": [
              {
                "email": "someone@example.com"
              }
            ],
            "dynamic_template_data": {
              "otp": "346349",
              "verify-email" : "someone@example.com"
            },
            "subject": "Contoso account email verification code"
          }
        ],
        "template_id": "d-989077fbba9746e89f3f6411f596fb96",
        "from": {
          "email": "service@contoso.com"
        }
      }
      

مثال آخر على GenerateJson

يُنشئ المثال التالي سلسلة JavaScript Object Notation استنادًا إلى قيم المطالبة وسلاسل ثابتة.

<ClaimsTransformation Id="GenerateRequestBody" TransformationMethod="GenerateJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="customerEntity.email" />
    <InputClaim ClaimTypeReferenceId="objectId" TransformationClaimType="customerEntity.userObjectId" />
    <InputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="customerEntity.firstName" />
    <InputClaim ClaimTypeReferenceId="surname" TransformationClaimType="customerEntity.lastName" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="customerEntity.role.name" DataType="string" Value="Administrator"/>
    <InputParameter Id="customerEntity.role.id" DataType="long" Value="1"/>
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="requestBody" TransformationClaimType="outputClaim"/>
  </OutputClaims>
</ClaimsTransformation>

يقوم تحويل المطالبات التالي بإخراج مطالبة سلسلة JavaScript Object Notation، والتي تصبح نص الطلب المرسل إلى REST API. يتم تعريف بنية كائن JSON عن طريق المعرفات في تدوين نقطة من معلمات الإدخال وأنواع مطالبات التحويلات في مطالبات الإدخال. تأتي القيم من قيم مطالبات الإدخال وخصائص "القيمة" معلمات الإدخال.

  • مطالبات الإدخال:
    • email, transformation claim type customerEntity.email: "john.s@contoso.com"
    • objectId، نوع مطالبة التحويل customerEntity.userObjectId "aaaaaa-0000-1111-2222-bbbbbbbbbb"
    • givenName، نوع مطالبة التحويل customerEntity.firstName "John"
    • اللقب، نوع مطالبة التحويل customerEntity.lastName "Smith"
  • معلمة الإدخال:
    • customerEntity.role.name: "المسؤول"
    • customerEntity.role.id 1
  • مطالبة الإخراج:
    • requestBody:

      {
         "customerEntity":{
            "email":"john.s@contoso.com",
            "userObjectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
            "firstName":"John",
            "lastName":"Smith",
            "role":{
               "name":"Administrator",
               "id": 1
            }
         }
      }
      

يقبل تحويل مطالبات GenerateJson سلاسل عادية. إذا كانت مطالبة الإدخال تحتوي على سلسلة JSON، إلغاء هذه السلسلة. في المثال التالي، إذا كنت تستخدم إخراج البريد الإلكتروني من CreateJsonArray أعلاه، أي [""someone@contoso.com]، كمعلمة إدخال، فسيبدو البريد الإلكتروني كما هو موضح في مطالبة JSON التالية:

  • مطالبة الإخراج:
    • requestBody:

      {
         "customerEntity":{
            "email":"[\"someone@contoso.com\"]",
            "userObjectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
            "firstName":"John",
            "lastName":"Smith",
            "role":{
               "name":"Administrator",
               "id": 1
            }
         }
      }
      

GetClaimFromJson

الحصول على عنصر محدد من بيانات JavaScript Object Notation. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال inputJson سلسلة المطالبة التي يستخدمها تحويل المطالبات للحصول على العنصر.
InputParameter مطالبة استخلاص سلسلة اسم عنصر JavaScript Object Notation لاستخراجه.
OutputClaim extractedClaim سلسلة تم استدعاء المطالبة التي نتجت بعد تحويل المطالبات هذا، قيمة العنصر المحددة في معلمة الإدخال ⁧⁩claimToExtract⁧⁩.

مثال على GetClaimFromJson

في المثال التالي، استخرج emailAddress تحويل المطالبات العنصر من بيانات JSON: {"emailAddress": "someone@example.com", "displayName": "Someone"}

<ClaimsTransformation Id="GetEmailClaimFromJson" TransformationMethod="GetClaimFromJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="customUserData" TransformationClaimType="inputJson" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="claimToExtract" DataType="string" Value="emailAddress" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="extractedEmail" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
  • معلمة الإدخال:
    • claimToExtract: emailAddress
  • مطالبات الإخراج:
    • extractedClaim: someone@example.com

مثال آخر على GetClaimFromJson

يحصل تحويل المطالبات GetClaimFromJson على عنصر واحد من بيانات JavaScript Object Notation. يوجد في المثال السابق، عنوان البريد الإلكتروني. للحصول على displayName، أنشئ تحويل مطالبات آخر. على سبيل المثال:

<ClaimsTransformation Id="GetDispalyNameClaimFromJson" TransformationMethod="GetClaimFromJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="customUserData" TransformationClaimType="inputJson" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="claimToExtract" DataType="string" Value="displayName" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="displayName" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
  • معلمة الإدخال:
    • claimToExtract: displayName
  • مطالبات الإخراج:
    • extractedClaim: شخص ما

GetClaimsFromJsonArray

احصل على قائمة العناصر المحددة من بيانات JavaScript Object Notation. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال jsonSourceClaim سلسلة المطالبة مع حمولة JavaScript Object Notation. المطالبة التي يستخدمها تحويل المطالبات للحصول على المطالبات.
InputParameter errorOnMissingClaims boolean تحديد ما إذا كان يتم طرح خطأ في حالة أن تكون إحدى المطالبات مفقودة.
InputParameter إدراج مطالبة فارغة سلسلة حدد وجود تضمين المطالبات الفارغة من عدمه.
InputParameter jsonSourceKeyName سلسلة الاسم الخاص بمفتاح العنصر
InputParameter jsonSourceValueName سلسلة الاسم الخاص بقيمة العنصر
OutputClaim المجموعة سلسلة وint ومنطقي والتاريخ والوقت قائمة المطالبات لاستخراج. يجب أن يكون اسم المطالبة مساويا للمطالبة المحددة في مطالبة إدخال jsonSourceClaim .

مثال على GetClaimsFromJsonArray

في المثال التالي، تحويل المطالبات يستخرج المطالبات التالية: البريد الإلكتروني (سلسلة)، اسم العرض (سلسلة)، رقم العضوية (int)، نشط (منطقي)، وتاريخ الميلاد (التاريخ والوقت) من بيانات JavaScript Object Notation.

<ClaimsTransformation Id="GetClaimsFromJson" TransformationMethod="GetClaimsFromJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="jsonSourceClaim" TransformationClaimType="jsonSource" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="errorOnMissingClaims" DataType="boolean" Value="false" />
    <InputParameter Id="includeEmptyClaims" DataType="boolean" Value="false" />
    <InputParameter Id="jsonSourceKeyName" DataType="string" Value="key" />
    <InputParameter Id="jsonSourceValueName" DataType="string" Value="value" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" />
    <OutputClaim ClaimTypeReferenceId="displayName" />
    <OutputClaim ClaimTypeReferenceId="membershipID" />
    <OutputClaim ClaimTypeReferenceId="active" />
    <OutputClaim ClaimTypeReferenceId="birthDate" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:

    • jsonSourceClaim:

      [
        {
          "key": "email",
          "value": "someone@example.com"
        },
        {
          "key": "displayName",
          "value": "Someone"
        },
        {
          "key": "membershipID",
          "value": 6353399
        },
        {
          "key": "active",
          "value": true
        },
        {
          "key": "birthDate",
          "value": "2005-09-23T00:00:00Z"
        }
      ]
      
  • معلمات الإدخال:

    • errorOnMissingClaims: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: مفتاح
    • jsonSourceValueName: القيمة
  • مطالبات الناتج:

    • email: "someone@example.com"
    • displayName: "شخص ما"
    • membershipID: 6353399
    • نشط: صحيح
    • تاريخ الميلاد: 2005-09-23T00:00:00Z

GetClaimsFromJsonArrayV2

احصل على قائمة بالعناصر المحددة من عناصر JSON لمجموعة سلسلة. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال jsonSourceClaim stringCollection مطالبة مجموعة السلسلة مع حمولات JSON. المطالبة التي يستخدمها تحويل المطالبات للحصول على المطالبات.
InputParameter errorOnMissingClaims boolean تحديد ما إذا كان يتم طرح خطأ في حالة أن تكون إحدى المطالبات مفقودة.
InputParameter إدراج مطالبة فارغة سلسلة حدد وجود تضمين المطالبات الفارغة من عدمه.
InputParameter jsonSourceKeyName سلسلة الاسم الخاص بمفتاح العنصر
InputParameter jsonSourceValueName سلسلة الاسم الخاص بقيمة العنصر
OutputClaim المجموعة سلسلة وint ومنطقي والتاريخ والوقت قائمة المطالبات لاستخراج. يجب أن يكون اسم المطالبة مساويا للمطالبة المحددة في مطالبة إدخال jsonSourceClaim .

مثال على GetClaimsFromJsonArrayV2

في المثال التالي، تحويل المطالبات يستخرج المطالبات التالية: البريد الإلكتروني (سلسلة)، اسم العرض (سلسلة)، رقم العضوية (int)، نشط (منطقي)، وتاريخ الميلاد (التاريخ والوقت) من بيانات JavaScript Object Notation.

<ClaimsTransformation Id="GetClaimsFromJson" TransformationMethod="GetClaimsFromJsonArrayV2">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="jsonSourceClaim" TransformationClaimType="jsonSource" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="errorOnMissingClaims" DataType="boolean" Value="false" />
    <InputParameter Id="includeEmptyClaims" DataType="boolean" Value="false" />
    <InputParameter Id="jsonSourceKeyName" DataType="string" Value="key" />
    <InputParameter Id="jsonSourceValueName" DataType="string" Value="value" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" />
    <OutputClaim ClaimTypeReferenceId="displayName" />
    <OutputClaim ClaimTypeReferenceId="membershipID" />
    <OutputClaim ClaimTypeReferenceId="active" />
    <OutputClaim ClaimTypeReferenceId="birthDate" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:

    • jsonSourceClaim[0] (عنصر مجموعة السلسلة الأول):

        {
          "key": "email",
          "value": "someone@example.com"
        }
      
    • jsonSourceClaim[1] (عنصر مجموعة السلسلة الثاني):

        {
          "key": "displayName",
          "value": "Someone"
        }
      
    • jsonSourceClaim[2] (عنصر مجموعة السلسلة الثالث):

        {
          "key": "membershipID",
          "value": 6353399
        }
      
    • jsonSourceClaim[3] (مجموعة السلسلة العنصر الرابع):

        {
          "key": "active",
          "value": true
        }
      
    • jsonSourceClaim[4] (عنصر مجموعة السلسلة الخامس):

        {
          "key": "birthDate",
          "value": "2005-09-23T00:00:00Z"
        }
      
  • معلمات الإدخال:

    • errorOnMissingClaims: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: مفتاح
    • jsonSourceValueName: القيمة
  • مطالبات الناتج:

    • email: "someone@example.com"
    • displayName: "شخص ما"
    • membershipID: 6353399
    • نشط: صحيح
    • تاريخ الميلاد: 2005-09-23T00:00:00Z

GetNumericClaimFromJson

احصل على عنصر رقمي محدد (طويل) من بيانات JavaScript Object Notation. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال inputJson سلسلة المطالبة مع حمولة JavaScript Object Notation. يستخدم تحويل المطالبات هذه المطالبة للحصول على مطالبة رقمية.
InputParameter مطالبة استخلاص سلسلة اسم عنصر JavaScript Object Notation لاستخراجه.
OutputClaim extractedClaim طويل تم استدعاء المطالبة التي نتجت بعد تحويل المطالبات هذا، قيمة العنصر المحددة في معلمة الإدخال ⁧⁩claimToExtract⁧⁩.

مثال على GetNumericClaimFromJson

في المثال التالي، يستخرج id تحويل المطالبات العنصر من بيانات JSON.

<ClaimsTransformation Id="GetIdFromResponse" TransformationMethod="GetNumericClaimFromJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="exampleInputClaim" TransformationClaimType="inputJson" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="claimToExtract" DataType="string" Value="id" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="membershipId" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:

    • inputJson:

      {
        "emailAddress": "someone@example.com",
        "displayName": "Someone",
        "id": 6353399
      }
      
  • معلمات الإدخال

    • claimToExtract: id
  • مطالبات الناتج:

    • extractedClaim: 6353399

GetSingleItemFromJson

الحصول على العنصر الأول من بيانات JavaScript Object Notation. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال inputJson سلسلة المطالبة مع حمولة JavaScript Object Notation. يستخدم تحويل المطالبات هذه المطالبة للحصول على العنصر من بيانات JavaScript Object Notation.
OutputClaim المفتاح سلسلة مفتاح العنصر الأول في JavaScript Object Notation.
OutputClaim قيمة سلسلة مخزن العنصر الأول في JavaScript Object Notation.

مثال على GetSingleItemFromJson

يقوم تحويل المطالبات، في المثال التالي باستخراج العنصر الأول (الاسم المُعطى) من بيانات JavaScript Object Notation.

<ClaimsTransformation Id="GetGivenNameFromResponse" TransformationMethod="GetSingleItemFromJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="json" TransformationClaimType="inputJson" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="givenNameKey" TransformationClaimType="key" />
    <OutputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="value" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:

    • inputJson:

      {
        "givenName": "Emily",
        "lastName": "Smith"
      }
      
  • مطالبات الناتج:

    • key: givenName
    • value: Emilty

GetSingleValueFromJsonArray

الحصول على العنصر الأول من صفيف بيانات JavaScript Object Notation. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال inputJsonClaim سلسلة المطالبة مع حمولة JavaScript Object Notation. يستخدم تحويل المطالبات هذه المطالبة للحصول على القيمة من بيانات JavaScript Object Notation.
OutputClaim extractedClaim سلسلة تم استدعاء المطالبة التي نتجت بعد تحويل المطالبات هذا، العنصر الأول في الصفيف JavaScript Object Notation.

مثال على GetSingleValueFromJsonArray

في المثال التالي، يستخرج تحويل المطالبات العنصر الأول (عنوان البريد الإلكتروني) من مصفوفة JSON ["someone@example.com", "Someone", 6353399].

<ClaimsTransformation Id="GetEmailFromJson" TransformationMethod="GetSingleValueFromJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userData" TransformationClaimType="inputJsonClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • مطالبات الإدخال:
    • inputJsonClaim: ["someone@example.com", "Someone", 6353399]
  • مطالبات الإخراج:
    • extractedClaim: someone@example.com

XmlStringToJsonString

تحويل بيانات XML إلى تنسيق JavaScript Object Notation. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.

العنصر نوع مطالبة التحول نوع البيانات ملاحظات
مطالبة إدخال xml سلسلة المطالبة مع حمولة XML. يستخدم تحويل المطالبات هذه المطالبة لتحويل البيانات من XML إلى تنسيق JavaScript Object Notation.
OutputClaim json سلسلة تم استدعاء المطالبة التي نتجت بعد تحويل المطالبات هذا، البيانات الموجودة في تنسيق JavaScript Object Notation.
<ClaimsTransformation Id="ConvertXmlToJson" TransformationMethod="XmlStringToJsonString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="intpuXML" TransformationClaimType="xml" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="outputJson" TransformationClaimType="json" />
  </OutputClaims>
</ClaimsTransformation>

مثال على XmlStringToJsonString

يقوم تحويل المطالبات‘ في المثال التالي بتحويل بيانات XML التالية إلى تنسيق JavaScript Object Notation.

مطالبة الإدخال:

<user>
  <name>Someone</name>
  <email>someone@example.com</email>
</user>

مطالبة الإخراج:

{
  "user": {
    "name":"Someone",
    "email":"someone@example.com"
  }
}

الخطوات التالية

  • يمكنك العثور على المزيد من أمثلة تحويل المطالبات في مستودع GitHub لمجتمع متاجرة عمل-مستهلك في Microsoft Azure Active Directory