تحويل مطالبات 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