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 kullanmaya yönelik örnekler 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üşümünün Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim inputClaim string Çıkış talebine eklenecek talep.
OutputClaim outputClaim string 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="createlJsonPayload" 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 JSON dizesine nereye eklendiği belirtmek için kullanılır. Noktalara göre 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üşümünün Canlı tanıtımını gözden geçirin.

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

JSON Dizileri

Bir JSON dizisine JSON nesneleri eklemek için dizi adı biçimini ve dizideki dizini kullanın. Dizi sıfır tabanlıdır. Sıfırdan N'ye kadar, hiçbir sayıyı atlamadan 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 program nesnesi içerir. Üçüncü öğe dört nesne içerir: renk, dil, logo ve arka plan.

Aşağıdaki örnekte JSON dizilerinin nasıl yapılandırılır gösterilmektedir. email dizisi, dinamik değerlerle öğesini InputClaims kullanır. values 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 dizinden 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ürmesi, 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 ve TransformationClaimTypes InputClaims'in noktalı gösterimindeki kimlikler 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'ın başka bir örneği

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 ve TransformationClaimTypes InputClaims'in noktalı gösterimindeki kimlikler 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 "01234567-89ab-cdef-0123-456789abcdef"
    • givenName, dönüştürme talep türü customerEntity.firstName "John"
    • surname, dönüşüm 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":"01234567-89ab-cdef-0123-456789abcdef",
            "firstName":"John",
            "lastName":"Smith",
            "role":{
               "name":"Administrator",
               "id": 1
            }
         }
      }
      

GenerateJson talep dönüşümü düz dizeleri kabul eder. Bir giriş talebi bir JSON dizesi içeriyorsa, bu dize kaçış olacaktır. Aşağıdaki örnekte , yukarıdaki CreateJsonArray'den gelen e-posta çıkışını kullanırsanız , yani [""someone@contoso.com], bir 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":"01234567-89ab-cdef-0123-456789abcdef",
            "firstName":"John",
            "lastName":"Smith",
            "role":{
               "name":"Administrator",
               "id": 1
            }
         }
      }
      

GetClaimFromJson

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

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

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. Örnek:

<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>
  • 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üşümünün Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim jsonSourceClaim string 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 atılıp atılmayacağını belirtir.
Inputparameter includeEmptyClaims string Boş taleplerin dahil edilip edilmeyeceğini belirtin.
Inputparameter jsonSourceKeyName string Öğe anahtarı adı
Inputparameter jsonSourceValueName string Öğe değeri adı
OutputClaim Koleksiyon dize, int, boole ve datetime Ayıklanması gereken taleplerin listesi. Talebin adı , jsonSourceClaim giriş talebinde belirtilen ada eşit olmalıdır.

GetClaimsFromJsonArray örneği

Aşağıdaki örnekte, talep dönüşümü şu talepleri ayıklar: JSON verilerinden e-posta (dize), displayName (dize), membershipNum (int), active (boole) ve birthDate (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üşümünün Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim jsonSourceClaim Stringcollection JSON yüklerine sahip 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 atılıp atılmayacağını belirtir.
Inputparameter includeEmptyClaims string Boş taleplerin dahil edilip edilmeyeceğini belirtin.
Inputparameter jsonSourceKeyName string Öğe anahtarı adı
Inputparameter jsonSourceValueName string Öğe değeri adı
OutputClaim Koleksiyon dize, int, boole ve datetime Ayıklanması gereken taleplerin listesi. Talebin adı , jsonSourceClaim giriş talebinde belirtilen ada eşit olmalıdır.

GetClaimsFromJsonArrayV2 örneği

Aşağıdaki örnekte, talep dönüşümü şu talepleri ayıklar: JSON verilerinden e-posta (dize), displayName (dize), membershipNum (int), active (boole) ve birthDate (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

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

Öğe TransformationClaimType Veri Türü Notlar
InputClaim inputJson string JSON yüküne sahip talep. Bu talep, talep dönüştürmesi tarafından sayısal talebi almak için kullanılır.
Inputparameter claimToExtract string Ayıklanması gereken JSON öğesinin adı.
OutputClaim extractedClaim long 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üşümünün Canlı tanıtımını gözden geçirin.

Öğe TransformationClaimType Veri Türü Notlar
InputClaim inputJson string 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 string JSON'daki ilk öğe anahtarı.
OutputClaim değer string 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: Emilty

GetSingleValueFromJsonArray

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

Öğe TransformationClaimType Veri Türü Notlar
InputClaim inputJsonClaim string 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 string Bu talep dönüştürmesi çağrıldıktan sonra oluşturulan talep, JSON dizisindeki ilk öğedir.

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 string 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 string 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="intpuXML" 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