تحويل مطالبات JavaScript Object Notation
توفر هذه المقالة أمثلة لاستخدام تحويلات مطالبات JSON لمخطط إطار عمل تجربة الهوية في Microsoft Azure Active Directory B2C (Azure AD B2C). لمزيد من المعلومات، راجع تحويلات المطالبات.
CreateJsonArray
إنشاء صفيف عنصر واحد JavaScript Object Notation من قيمة مطالبة. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
InputClaim | inputClaim | سلسلة | المطالبة التي ستضاف إلى مطالبة الناتج. |
OutputClaim | 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 (جهة خارجية موفرة للبريد الإلكتروني). يتم تحديد بنية عنصر JavaScript Object Notation بواسطة المعرفات الموجودة في رمز النقطة لمعلمات InputParameters و TransformationClaimTypes الخاصة بـ InputClaims تتضمن الأرقام في رمز النقطة المصفوفات. تأتي القيم من قيم مطالبات الإدخال وخصائص "القيمة" معلمات الإدخال.
- مطالبات الإدخال:
- email, transformation claim type personalizations.0.to.0.email: "someone@example.com"
- copiedEmail، نوع تحويل المطالباتpersonalizations.0.dynamic_template_data.verify-email: "someone@example.com"
- otp, transformation claim type personalizations.0.dynamic_template_data.otp "346349"
- معلمة الإدخال:
- template_id: "d-4c56ffb40fa648b1aa6822283df94f60"
- من البريد الإلكتروني: 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. يتم تحديد بنية عنصر JavaScript Object Notation بواسطة المعرفات الموجودة في رمز النقطة لمعلمات InputParameters و TransformationClaimTypes الخاصة بـ InputClaims تأتي القيم من قيم مطالبات الإدخال، وخصائص "القيمة" الخاصة بمعلمات الإدخال.
- مطالبات الإدخال:
- email, transformation claim type customerEntity.email: "john.s@contoso.com"
- objectId، نوع تحويل المطالبةcustomerEntity.userObjectId "01234567-89ab-cdef-0123-456789abcdef"
- الاسم المعطى، نوع تحويل المطالبةcustomerEntity.firstName: «جون»
- البريد الإلكتروني، نوع تحويل المطالبةcustomerEntity.lastName: «سميث»
- معلمة الإدخال:
- customerEntity.role.name: "Administrator"
- customerEntity.role.id1
- مطالبة الإخراج:
requestBody:
{ "customerEntity":{ "email":"john.s@contoso.com", "userObjectId":"01234567-89ab-cdef-0123-456789abcdef", "firstName":"John", "lastName":"Smith", "role":{ "name":"Administrator", "id": 1 } } }
يقبل تحويل مطالبات GenerateJson سلاسل عادية. إذا كانت مطالبة الإدخال تحتوي على سلسلة JSON، فسيتم إلغاء هذه السلسلة. في المثال التالي، إذا كنت تستخدم إخراج البريد الإلكتروني من CreateJsonArray أعلاه، أي [""someone@contoso.com]، كمعلمة إدخال، فسيبدو البريد الإلكتروني كما هو موضح في مطالبة JSON التالية:
- مطالبة الإخراج:
requestBody:
{ "customerEntity":{ "email":"[\"someone@contoso.com\"]", "userObjectId":"01234567-89ab-cdef-0123-456789abcdef", "firstName":"John", "lastName":"Smith", "role":{ "name":"Administrator", "id": 1 } } }
GetClaimFromJson
الحصول على عنصر محدد من بيانات JavaScript Object Notation. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
مطالبة إدخال | inputJson | سلسلة | المطالبة التي يستخدمها تحويل المطالبات للحصول على العنصر. |
معلمة إدخال | مطالبة استخلاص | سلسلة | اسم عنصر JavaScript Object Notation لاستخراجه. |
مطالبة إخراج | extractedClaim | سلسلة | تم استدعاء المطالبة التي نتجت بعد تحويل المطالبات هذا، قيمة العنصر المحددة في معلمة الإدخال claimToExtract. |
مثال على GetClaimFromJson
في المثال التالي، يقوم تحويل المطالبات باستخراجemailAddress
العنصر من بيانات{"emailAddress": "someone@example.com", "displayName": "Someone"}
JavaScript Object Notation:
<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"}
- معلمة الإدخال:
- مطالبة استخلاص: عنوان البريد الإلكتروني
- مطالبات الإخراج:
- مطالبة مستخلصة: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
- مطالبات الإخراج:
- مطالبة مستخلصة: شخص ما
GetClaimsFromJsonArray
احصل على قائمة العناصر المحددة من بيانات JavaScript Object Notation. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
مطالبة إدخال | jsonSourceClaim | سلسلة | المطالبة مع حمولة JavaScript Object Notation. المطالبة التي يستخدمها تحويل المطالبات للحصول على المطالبات. |
معلمة إدخال | errorOnMissingClaims | منطقي | تحديد ما إذا كان يتم طرح خطأ في حالة أن تكون إحدى المطالبات مفقودة. |
معلمة إدخال | إدراج مطالبة فارغة | سلسلة | حدد وجود تضمين المطالبات الفارغة من عدمه. |
معلمة إدخال | jsonSourceKeyName | سلسلة | الاسم الخاص بمفتاح العنصر |
معلمة إدخال | jsonSourceValueName | سلسلة | الاسم الخاص بقيمة العنصر |
مطالبة إخراج | المجموعة | سلسلة و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
- إدراج مطالبات فارغة: خطأ
- jsonSourceKeyName: key
- jsonSourceValueName: value
مطالبات الإخراج:
- البريد الإلكتروني: someone@example.com
- اسم العرض: «شخص ما»
- membershipID: 6353399
- نشط: صحيح
- تاريخ الميلاد: 2005-09-23T00:00:00Z
GetClaimsFromJsonArrayV2
احصل على قائمة بالعناصر المحددة من عناصر JSON لمجموعة سلسلة. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
مطالبة إدخال | jsonSourceClaim | stringCollection | مطالبة مجموعة السلسلة مع حمولات JSON. المطالبة التي يستخدمها تحويل المطالبات للحصول على المطالبات. |
معلمة إدخال | errorOnMissingClaims | منطقي | تحديد ما إذا كان يتم طرح خطأ في حالة أن تكون إحدى المطالبات مفقودة. |
معلمة إدخال | إدراج مطالبة فارغة | سلسلة | حدد وجود تضمين المطالبات الفارغة من عدمه. |
معلمة إدخال | jsonSourceKeyName | سلسلة | الاسم الخاص بمفتاح العنصر |
معلمة إدخال | jsonSourceValueName | سلسلة | الاسم الخاص بقيمة العنصر |
مطالبة إخراج | المجموعة | سلسلة و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
- إدراج مطالبات فارغة: خطأ
- jsonSourceKeyName: key
- jsonSourceValueName: value
مطالبات الإخراج:
- البريد الإلكتروني: someone@example.com
- اسم العرض: «شخص ما»
- membershipID: 6353399
- نشط: صحيح
- تاريخ الميلاد: 2005-09-23T00:00:00Z
GetNumericClaimFromJson
احصل على عنصر رقمي محدد (طويل) من بيانات JavaScript Object Notation. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
مطالبة إدخال | inputJson | سلسلة | المطالبة مع حمولة JavaScript Object Notation. يستخدم تحويل المطالبات هذه المطالبة للحصول على مطالبة رقمية. |
معلمة إدخال | مطالبة استخلاص | سلسلة | اسم عنصر JavaScript Object Notation لاستخراجه. |
مطالبة إخراج | extractedClaim | طويل | تم استدعاء المطالبة التي نتجت بعد تحويل المطالبات هذا، قيمة العنصر المحددة في معلمة الإدخال claimToExtract. |
مثال على GetNumericClaimFromJson
يقوم تحويل المطالبات، في المثال التالي باستخراجid
العنصر من بيانات JavaScript Object Notation.
<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
مطالبات الإخراج:
- مطالبة مستخلصة: 6353399
GetSingleItemFromJson
الحصول على العنصر الأول من بيانات JavaScript Object Notation. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
مطالبة إدخال | inputJson | سلسلة | المطالبة مع حمولة JavaScript Object Notation. يستخدم تحويل المطالبات هذه المطالبة للحصول على العنصر من بيانات JavaScript Object Notation. |
مطالبة إخراج | المفتاح | سلسلة | مفتاح العنصر الأول في JavaScript Object Notation. |
مطالبة إخراج | القيمة | سلسلة | مخزن العنصر الأول في 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" }
مطالبات الإخراج:
- مفتاح: الاسم المعطى
- القيمة: إيميلتي
GetSingleValueFromJsonArray
الحصول على العنصر الأول من صفيف بيانات JavaScript Object Notation. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
مطالبة إدخال | inputJsonClaim | سلسلة | المطالبة مع حمولة JavaScript Object Notation. يستخدم تحويل المطالبات هذه المطالبة للحصول على القيمة من بيانات JavaScript Object Notation. |
مطالبة إخراج | 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]
- مطالبات الإخراج:
- مطالبة مستخلصة:someone@example.com
XmlStringToJsonString
تحويل بيانات XML إلى تنسيق JavaScript Object Notation. تحقق من العرض التوضيحي المباشر لتحول هذه المطالبات.
العنصر | نوع مطالبة التحول | نوع البيانات | ملاحظات |
---|---|---|---|
مطالبة إدخال | xml | سلسلة | المطالبة مع حمولة XML. يستخدم تحويل المطالبات هذه المطالبة لتحويل البيانات من XML إلى تنسيق JavaScript Object Notation. |
مطالبة إخراج | JavaScript Object Notation | سلسلة | تم استدعاء المطالبة التي نتجت بعد تحويل المطالبات هذا، البيانات الموجودة في تنسيق 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
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ