Aracılığıyla paylaş


JSON talep dönüştürmeleri

Bu makalede, Azure Active Directory B2C'de (Azure AD B2C) Kimlik Deneyimi Çerçevesi şemasının JSON talep dönüştürmelerini kullanma örnekleri sağlanır. Daha fazla bilgi için bkz . talep dönüştürmeleri.

CreateJsonArray

Bir talep değerinden bir JSON tek öğe dizisi oluşturun. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim inputClaim Dize Çıkış talebine eklenecek talep.
OutputClaim outputClaim Dize Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan JSON dizesi.

CreateJsonArray Örneği

Aşağıdaki örnek tek bir JSON dizisi oluşturur.

<ClaimsTransformation Id="CreateJsonPayload" TransformationMethod="CreateJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Giriş talepleri:
    • inputClaim: someone@example.com
  • Çıkış talepleri:
    • outputClaim: ["someone@contoso.com"]

GenerateJson

JSON dizesi oluşturmak için talep değerlerini veya sabitleri kullanın. Nokta gösterimini izleyen yol dizesi, verilerin bir JSON dizesine nereye ekleyebileceğinizi belirtmek için kullanılır. Noktalarla bölündükten sonra, tüm tamsayılar bir JSON dizisinin dizini olarak, tamsayı olmayanlar ise bir JSON nesnesinin dizini olarak yorumlanır.

Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim Nokta gösterimini izleyen herhangi bir dize Dize Talep değerinin eklendiği JSON'un JsonPath değeri.
InputParameter Nokta gösterimini izleyen herhangi bir dize Dize Sabit dize değerinin eklendiği JSON'un JsonPath değeri.
OutputClaim outputClaim Dize Oluşturulan JSON dizesi.

JSON Dizileri

JSON dizisine JSON nesneleri eklemek için dizi adı biçimini ve dizideki dizini kullanın. Dizi sıfır tabanlıdır. Hiçbir sayıyı atlamadan sıfırdan N'ye kadar başlayın. Dizideki öğeler herhangi bir nesne içerebilir. Örneğin, ilk öğe app ve appId adlı iki nesne içerir. İkinci öğe tek bir nesne ( program) içerir. Üçüncü öğe dört nesne, renk, dil, logo ve arka plan içerir.

Aşağıdaki örnekte JSON dizilerinin nasıl yapılandırılır gösterilmektedir. e-posta dizisi, dinamik değerlerle öğesini InputClaims kullanır. değerler dizisi statik değerlerle öğesini InputParameters kullanır.

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

Bu talep dönüştürme işleminin sonucu:

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

Hem giriş taleplerinde hem de giriş parametrelerinde bir JSON dizisi belirtmek için diziyi sıfırdan N'ye kadar öğesinde InputClaims başlatmanız gerekir. Ardından öğesinde InputParameters son dizinden dizine devam edin.

Aşağıdaki örnekte hem giriş taleplerinde hem de giriş parametrelerinde tanımlanan bir dizi gösterilmektedir. Values dizisinin values.0 ilk öğesi giriş taleplerinde tanımlanır. Giriş parametreleri dizin bir values.1 ile iki dizin values.2arasında devam eder.

<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 Örneği

Aşağıdaki örnek, "email" ve "OTP" talep değerine ve sabit dizelere dayalı bir JSON dizesi oluşturur.

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

Aşağıdaki talep dönüştürme, SendGrid'e (üçüncü taraf e-posta sağlayıcısı) gönderilen isteğin gövdesi olacak bir JSON dize talebi oluşturur. JSON nesnesinin yapısı, InputParameters'ın noktalı gösterimi ve InputClaims'in TransformationClaimTypes kimlikleri tarafından tanımlanır. Nokta gösterimindeki sayılar dizileri ifade eder. Değerler InputClaims'in değerlerinden ve InputParameters'ın "Value" özelliklerinden gelir.

  • Giriş talepleri:
    • e-posta, dönüştürme talep türü personalizations.0.to.0.email: "someone@example.com"
    • copiedEmail, dönüştürme talep türü personalizations.0.dynamic_template_data.verify-email: "someone@example.com"
    • otp, dönüştürme talep türü personalizations.0.dynamic_template_data.otp "346349"
  • Giriş parametresi:
    • template_id: "d-4c56ffb40fa648b1aa6822283df94f60"
    • from.email: "service@contoso.com"
    • personalizations.0.subject "Contoso hesabı e-posta doğrulama kodu"
  • Çıkış talebi:
    • outputClaim:

      {
        "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'a başka bir örnek

Aşağıdaki örnek, talep değerlerini ve sabit dizeleri temel alan bir JSON dizesi oluşturur.

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

Aşağıdaki talep dönüştürmesi, REST API'ye gönderilen isteğin gövdesi olacak bir JSON dize talebi oluşturur. JSON nesnesinin yapısı, InputParameters'ın noktalı gösterimi ve InputClaims'in TransformationClaimTypes kimlikleri tarafından tanımlanır. Değerler InputClaims'in değerlerinden ve InputParameters'ın "Value" özelliklerinden gelir.

  • Giriş talepleri:
    • e-posta, dönüştürme talep türü customerEntity.email: "john.s@contoso.com"
    • objectId, dönüştürme talep türü customerEntity.userObjectId "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
    • givenName, dönüştürme talep türü customerEntity.firstName "John"
    • soyad, dönüştürme talep türü customerEntity.lastName "Smith"
  • Giriş parametresi:
    • customerEntity.role.name: "Yönetici"
    • customerEntity.role.id 1
  • Çıkış talebi:
    • requestBody:

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

GenerateJson talep dönüştürmesi düz dizeleri kabul eder. Bir giriş talebi bir JSON dizesi içeriyorsa, bu dize kaçılır. Aşağıdaki örnekte yukarıdaki CreateJsonArray'den gelen e-posta çıkışını kullanırsanız [""someone@contoso.com], giriş parametresi olarak e-posta aşağıdaki JSON talebinde gösterildiği gibi görünür:

  • Çıkış talebi:
    • requestBody:

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

GetClaimFromJson

JSON verilerinden belirtilen bir öğeyi alın. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim inputJson Dize Öğeyi almak için talep dönüştürmesi tarafından kullanılan talepler.
InputParameter claimToExtract Dize ayıklanacak JSON öğesinin adı.
OutputClaim extractedClaim Dize Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep, claimToExtract giriş parametresinde belirtilen öğe değeri.

GetClaimFromJson örneği

Aşağıdaki örnekte, talep dönüştürmesi JSON verilerinden öğesini ayıkladı emailAddress : {"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>
  • Giriş talepleri:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Birisi"}
  • Giriş parametresi:
    • claimToExtract: emailAddress
  • Çıkış talepleri:
    • extractedClaim: someone@example.com

Başka bir GetClaimFromJson örneği

GetClaimFromJson talep dönüştürmesi, bir JSON verisinden tek bir öğe alır. Yukarıdaki örnekte emailAddress. displayName değerini almak için başka bir talep dönüştürmesi oluşturun. Örneğin:

<ClaimsTransformation Id="GetDisplayNameClaimFromJson" 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>
  • Giriş talepleri:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Birisi"}
  • Giriş parametresi:
    • claimToExtract: displayName
  • Çıkış talepleri:
    • extractedClaim: Birisi

GetClaimsFromJsonArray

Json verilerinden belirtilen öğelerin listesini alın. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim jsonSourceClaim Dize JSON yüküne sahip talep. Bu talep, talepleri almak için talep dönüştürmesi tarafından kullanılır.
InputParameter errorOnMissingClaims boolean Taleplerden biri eksikse hata verilip verilmeyeceğini belirtir.
InputParameter includeEmptyClaims Dize Boş taleplerin dahil edilip edilmeyeceğini belirtin.
InputParameter jsonSourceKeyName Dize Öğe anahtarı adı
InputParameter jsonSourceValueName Dize Öğe değeri adı
OutputClaim Koleksiyon string, int, boolean ve datetime Ayıklanması gereken taleplerin listesi. Talebin adı, jsonSourceClaim giriş talebi içinde belirtilen ada eşit olmalıdır.

GetClaimsFromJsonArray örneği

Aşağıdaki örnekte, talep dönüştürme şu talepleri ayıklar: JSON verilerinden e-posta (dize), displayName (dize), membershipNum (int), etkin (boole) ve doğumTarihi (datetime).

<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>
  • Giriş talepleri:

    • 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"
        }
      ]
      
  • Giriş parametreleri:

    • errorOnMissingClaims: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: key
    • jsonSourceValueName: value
  • Çıkış talepleri:

    • e-posta: "someone@example.com"
    • displayName: "Birisi"
    • membershipID: 6353399
    • etkin: true
    • doğum Tarihi: 2005-09-23T00:00:00Z

GetClaimsFromJsonArrayV2

Dize koleksiyonu JSON öğelerinden belirtilen öğelerin listesini alın. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim jsonSourceClaim stringCollection JSON yükleriyle dize koleksiyonu talebi. Bu talep, talepleri almak için talep dönüştürmesi tarafından kullanılır.
InputParameter errorOnMissingClaims boolean Taleplerden biri eksikse hata verilip verilmeyeceğini belirtir.
InputParameter includeEmptyClaims Dize Boş taleplerin dahil edilip edilmeyeceğini belirtin.
InputParameter jsonSourceKeyName Dize Öğe anahtarı adı
InputParameter jsonSourceValueName Dize Öğe değeri adı
OutputClaim Koleksiyon string, int, boolean ve datetime Ayıklanması gereken taleplerin listesi. Talebin adı, jsonSourceClaim giriş talebi içinde belirtilen ada eşit olmalıdır.

GetClaimsFromJsonArrayV2 örneği

Aşağıdaki örnekte, talep dönüştürme şu talepleri ayıklar: JSON verilerinden e-posta (dize), displayName (dize), membershipNum (int), etkin (boole) ve doğumTarihi (datetime).

<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>
  • Giriş talepleri:

    • jsonSourceClaim[0] (dize koleksiyonu ilk öğesi):

        {
          "key": "email",
          "value": "someone@example.com"
        }
      
    • jsonSourceClaim[1] (dize koleksiyonu ikinci öğesi):

        {
          "key": "displayName",
          "value": "Someone"
        }
      
    • jsonSourceClaim[2] (dize koleksiyonu üçüncü öğesi):

        {
          "key": "membershipID",
          "value": 6353399
        }
      
    • jsonSourceClaim[3] (dize koleksiyonu dördüncü öğesi):

        {
          "key": "active",
          "value": true
        }
      
    • jsonSourceClaim[4] (dize koleksiyonu beşinci öğesi):

        {
          "key": "birthDate",
          "value": "2005-09-23T00:00:00Z"
        }
      
  • Giriş parametreleri:

    • errorOnMissingClaims: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: key
    • jsonSourceValueName: value
  • Çıkış talepleri:

    • e-posta: "someone@example.com"
    • displayName: "Birisi"
    • membershipID: 6353399
    • etkin: true
    • doğum Tarihi: 2005-09-23T00:00:00Z

GetNumericClaimFromJson

Bir JSON verisinden belirtilen sayısal (uzun) öğeyi alır. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim inputJson Dize JSON yüküne sahip talep. Bu talep, sayısal talebi almak için talep dönüştürmesi tarafından kullanılır.
InputParameter claimToExtract Dize Ayıklanan JSON öğesinin adı.
OutputClaim extractedClaim uzun Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep, öğenin claimToExtract giriş parametrelerinde belirtilen değeridir.

GetNumericClaimFromJson örneği

Aşağıdaki örnekte, talep dönüştürmesi JSON verilerinden öğesini ayıklar id .

<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>
  • Giriş talepleri:

    • inputJson:

      {
        "emailAddress": "someone@example.com",
        "displayName": "Someone",
        "id": 6353399
      }
      
  • Giriş parametreleri

    • claimToExtract: id
  • Çıkış talepleri:

    • extractedClaim: 6353399

GetSingleItemFromJson

JSON verilerinden ilk öğeyi alır. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim inputJson Dize JSON yüküne sahip talep. Bu talep, JSON verilerinden öğeyi almak için talep dönüştürmesi tarafından kullanılır.
OutputClaim anahtar Dize JSON'daki ilk öğe anahtarı.
OutputClaim değer Dize JSON'daki ilk öğe değeri.

GetSingleItemFromJson örneği

Aşağıdaki örnekte, talep dönüştürme JSON verilerinden ilk öğeyi (verilen ad) ayıklar.

<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>
  • Giriş talepleri:

    • inputJson:

      {
        "givenName": "Emily",
        "lastName": "Smith"
      }
      
  • Çıkış talepleri:

    • key: givenName
    • değer: Emily

GetSingleValueFromJsonArray

JSON veri dizisinden ilk öğeyi alır. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim inputJsonClaim Dize JSON yüküne sahip talep. Bu talep, JSON dizisinden değeri almak için talep dönüştürmesi tarafından kullanılır.
OutputClaim extractedClaim Dize JSON dizisindeki ilk öğe olan bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep.

GetSingleValueFromJsonArray örneği

Aşağıdaki örnekte, talep dönüştürmesi JSON dizisindeki ["someone@example.com", "Someone", 6353399]ilk öğeyi (e-posta adresi) ayıklar.

<ClaimsTransformation Id="GetEmailFromJson" TransformationMethod="GetSingleValueFromJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userData" TransformationClaimType="inputJsonClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Giriş talepleri:
    • inputJsonClaim: [""someone@example.com, "Birisi", 6353399]
  • Çıkış talepleri:
    • extractedClaim: someone@example.com

XmlStringToJsonString

XML verilerini JSON biçimine dönüştürün. Bu talep dönüştürme işleminin Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim xml Dize XML yüküne sahip talep. Bu talep, verileri XML'den JSON biçimine dönüştürmek için talep dönüştürmesi tarafından kullanılır.
OutputClaim json Dize Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep, JSON biçimindeki veriler.
<ClaimsTransformation Id="ConvertXmlToJson" TransformationMethod="XmlStringToJsonString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="inputXML" TransformationClaimType="xml" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="outputJson" TransformationClaimType="json" />
  </OutputClaims>
</ClaimsTransformation>

XmlStringToJsonString Örneği

Aşağıdaki örnekte, talep dönüştürmesi aşağıdaki XML verilerini JSON biçimine dönüştürür.

Giriş talebi:

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

Çıkış talebi:

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

Sonraki adımlar