Przekształcenia oświadczeń JSON

Ten artykuł zawiera przykłady użycia przekształceń oświadczeń JSON schematu struktury obsługi tożsamości w usłudze Azure Active Directory B2C (Azure AD B2C). Aby uzyskać więcej informacji, zobacz przekształcenia oświadczeń.

CreateJsonArray

Utwórz tablicę pojedynczego elementu JSON na podstawie wartości oświadczenia. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim inputClaim ciąg Oświadczenie, które ma zostać dodane do oświadczenia wyjściowego.
OutputClaim outputClaim ciąg Ciąg JSON, który jest generowany po wywołaniu tej transformacji oświadczeń.

Przykład elementu CreateJsonArray

Poniższy przykład tworzy pojedynczą tablicę JSON.

<ClaimsTransformation Id="createlJsonPayload" TransformationMethod="CreateJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Oświadczenia wejściowe:
    • inputClaim: someone@example.com
  • Oświadczenia wyjściowe:
    • outputClaim: [""someone@contoso.com]

GenerateJson

Użyj wartości oświadczeń lub stałych, aby wygenerować ciąg JSON. Ciąg ścieżki po notacji kropkowej służy do wskazywania, gdzie należy wstawić dane do ciągu JSON. Po podzieleniu przez kropki wszystkie liczby całkowite są interpretowane jako indeks tablicy JSON i liczby nieintegracyjne są interpretowane jako indeks obiektu JSON.

Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim Dowolny ciąg po notacji kropkowej ciąg Ścieżka JsonPath w formacie JSON, w którym zostanie wstawiona wartość oświadczenia.
Inputparameter Dowolny ciąg po notacji kropkowej ciąg Ścieżka JsonPath w formacie JSON, w którym zostanie wstawiona stała wartość ciągu.
OutputClaim outputClaim ciąg Wygenerowany ciąg JSON.

Tablice JSON

Aby dodać obiekty JSON do tablicy JSON, użyj formatu nazwy tablicy i indeksu w tablicy. Tablica ma wartość zero. Zacznij od zera do N, bez pomijania dowolnej liczby. Elementy w tablicy mogą zawierać dowolny obiekt. Na przykład pierwszy element zawiera dwa obiekty, aplikację i identyfikator appId. Drugi element zawiera pojedynczy obiekt, program. Trzeci element zawiera cztery obiekty, kolor, język, logo i tło.

W poniższym przykładzie pokazano, jak skonfigurować tablice JSON. Tablica wiadomości e-mail używa wartości InputClaims dynamicznych. Tablica wartości używa wartości InputParameters ze statycznymi wartościami.

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

Wynik tej transformacji oświadczeń:

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

Aby określić tablicę JSON zarówno w oświadczeniach wejściowych, jak i parametrach wejściowych, należy uruchomić tablicę w InputClaims elemecie zero do N. Następnie w InputParameters elemecie kontynuuj indeks z ostatniego indeksu.

W poniższym przykładzie pokazano tablicę zdefiniowaną zarówno w oświadczeniach wejściowych, jak i parametrach wejściowych. Pierwszy element tablicy values.0wartości jest zdefiniowany w oświadczeniach wejściowych. Parametry wejściowe kontynuują od indeksu jeden values.1 do dwóch indeksów 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>

Przykład funkcji GenerateJson

Poniższy przykład generuje ciąg JSON na podstawie wartości oświadczenia "email" i "OTP" i ciągów stałych.

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

Poniższe oświadczenia przekształcenia generuje oświadczenie ciągu JSON, które będzie treścią żądania wysłanego do usługi SendGrid (dostawcy poczty e-mail innej firmy). Struktura obiektu JSON jest definiowana przez identyfikatory w notacji kropkowej parametrów InputParameters i TransformationClaimTypes danych InputClaims. Liczby w notacji kropkowej oznaczają tablice. Wartości pochodzą z wartości InputClaims i właściwości InputParameters "Value".

  • Oświadczenia wejściowe:
    • e-mail, typ oświadczenia przekształcenia personalizations.0.to.0.email: "someone@example.com"
    • copiedEmail, typ oświadczenia przekształcenia personalizations.0.dynamic_template_data.verify-email: "someone@example.com"
    • otp, typ oświadczenia przekształcenia personalizations.0.dynamic_template_data.otp "346349"
  • Parametr wejściowy:
    • template_id: "d-4c56ffb40fa648b1aa6822283df94f60"
    • from.email: "service@contoso.com"
    • personalizacja.0.subject "Kod weryfikacyjny wiadomości e-mail konta Contoso"
  • Oświadczenie wyjściowe:
    • 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"
        }
      }
      

Inny przykład funkcji GenerateJson

Poniższy przykład generuje ciąg JSON na podstawie wartości oświadczenia i ciągów stałych.

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

Poniższe oświadczenia przekształcenia generuje oświadczenie ciągu JSON, które będzie treścią żądania wysłanego do interfejsu API REST. Struktura obiektu JSON jest definiowana przez identyfikatory w notacji kropkowej parametrów InputParameters i TransformationClaimTypes danych InputClaims. Wartości pochodzą z wartości InputClaims i właściwości InputParameters "Value".

  • Oświadczenia wejściowe:
    • e-mail, typ oświadczenia przekształcenia customerEntity.email: "john.s@contoso.com"
    • objectId, typ oświadczenia przekształcenia customerEntity.userObjectId "01234567-89ab-cdef-0123-456789abcdef"
    • givenName, typ oświadczenia przekształcenia customerEntity.firstName "John"
    • nazwisko, typ oświadczenia przekształcenia CustomerEntity.lastName "Smith"
  • Parametr wejściowy:
    • customerEntity.role.name: "Administrator"
    • customerEntity.role.id 1
  • Oświadczenie wyjściowe:
    • requestBody:

      {
         "customerEntity":{
            "email":"john.s@contoso.com",
            "userObjectId":"01234567-89ab-cdef-0123-456789abcdef",
            "firstName":"John",
            "lastName":"Smith",
            "role":{
               "name":"Administrator",
               "id": 1
            }
         }
      }
      

Przekształcenie oświadczeń GenerateJson akceptuje zwykłe ciągi. Jeśli oświadczenie wejściowe zawiera ciąg JSON, ten ciąg zostanie usunięty. W poniższym przykładzie, jeśli użyjesz danych wyjściowych poczty e-mail z powyższego polecenia CreateJsonArray, to jest to ["someone@contoso.com"], jako parametr wejściowy, wiadomość e-mail będzie wyglądać podobnie jak pokazano w następującym oświadczeniu JSON:

  • Oświadczenie wyjściowe:
    • requestBody:

      {
         "customerEntity":{
            "email":"[\"someone@contoso.com\"]",
            "userObjectId":"01234567-89ab-cdef-0123-456789abcdef",
            "firstName":"John",
            "lastName":"Smith",
            "role":{
               "name":"Administrator",
               "id": 1
            }
         }
      }
      

GetClaimFromJson

Pobierz określony element z danych JSON. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim inputJson ciąg Oświadczenia, które są używane przez przekształcenie oświadczeń w celu pobrania elementu.
Inputparameter claimToExtract ciąg nazwa elementu JSON do wyodrębnienia.
OutputClaim extractedClaim ciąg Oświadczenie, które jest generowane po wywołaniu tej transformacji oświadczeń, wartość elementu określona w parametrze wejściowym claimToExtract .

Przykład polecenia GetClaimFromJson

W poniższym przykładzie przekształcenie oświadczeń wyodrębniło emailAddress element z danych 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>
  • Oświadczenia wejściowe:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Ktoś"}
  • Parametr wejściowy:
    • claimToExtract: emailAddress
  • Oświadczenia wyjściowe:
    • extractedClaim: someone@example.com

Inny przykład polecenia GetClaimFromJson

Przekształcenie oświadczeń GetClaimFromJson pobiera pojedynczy element z danych JSON. W poprzednim przykładzie adres e-mailAddress. Aby uzyskać nazwę displayName, utwórz kolejne przekształcenie oświadczeń. Przykład:

<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>
  • Oświadczenia wejściowe:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Ktoś"}
  • Parametr wejściowy:
    • claimToExtract: displayName
  • Oświadczenia wyjściowe:
    • extractedClaim: Ktoś

GetClaimsFromJsonArray

Pobierz listę określonych elementów z danych Json. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim jsonSourceClaim ciąg Oświadczenie z ładunkiem JSON. To oświadczenie jest używane przez przekształcenie oświadczeń w celu uzyskania oświadczeń.
Inputparameter errorOnMissingClaims boolean Określa, czy zgłaszać błąd, jeśli brakuje jednego z oświadczeń.
Inputparameter includeEmptyClaims ciąg Określ, czy mają być uwzględniane puste oświadczenia.
Inputparameter jsonSourceKeyName ciąg Nazwa klucza elementu
Inputparameter jsonSourceValueName ciąg Nazwa wartości elementu
OutputClaim Kolekcja ciąg, int, wartość logiczna i data/godzina Lista oświadczeń do wyodrębnienia. Nazwa oświadczenia powinna być równa określonej w jsonSourceClaim oświadczenia wejściowego.

Przykład getClaimsFromJsonArray

W poniższym przykładzie przekształcenie oświadczeń wyodrębnia następujące oświadczenia: email (ciąg), displayName (string), membershipNum (int), active (boolean) i birthDate (datetime) z danych JSON.

<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>
  • Oświadczenia wejściowe:

    • 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"
        }
      ]
      
  • Parametry wejściowe:

    • errorOnMissingClaims: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: klucz
    • jsonSourceValueName: value
  • Oświadczenia wyjściowe:

    • e-mail: "someone@example.com"
    • displayName: "Ktoś"
    • membershipID: 6353399
    • aktywne: true
    • birthDate: 2005-09-23T00:00:00Z

GetClaimsFromJsonArrayV2

Pobierz listę określonych elementów z elementów JSON kolekcji ciągów. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim jsonSourceClaim Stringcollection Oświadczenie kolekcji ciągów z ładunkami JSON. To oświadczenie jest używane przez przekształcenie oświadczeń w celu uzyskania oświadczeń.
Inputparameter errorOnMissingClaims boolean Określa, czy zgłaszać błąd, jeśli brakuje jednego z oświadczeń.
Inputparameter includeEmptyClaims ciąg Określ, czy mają być uwzględniane puste oświadczenia.
Inputparameter jsonSourceKeyName ciąg Nazwa klucza elementu
Inputparameter jsonSourceValueName ciąg Nazwa wartości elementu
OutputClaim Kolekcja ciąg, int, wartość logiczna i data/godzina Lista oświadczeń do wyodrębnienia. Nazwa oświadczenia powinna być równa określonej w jsonSourceClaim oświadczenia wejściowego.

Przykład getClaimsFromJsonArrayV2

W poniższym przykładzie przekształcenie oświadczeń wyodrębnia następujące oświadczenia: email (ciąg), displayName (string), membershipNum (int), active (boolean) i birthDate (datetime) z danych JSON.

<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>
  • Oświadczenia wejściowe:

    • jsonSourceClaim[0] (pierwszy element kolekcji ciągów):

        {
          "key": "email",
          "value": "someone@example.com"
        }
      
    • jsonSourceClaim[1] (drugi element kolekcji ciągów):

        {
          "key": "displayName",
          "value": "Someone"
        }
      
    • jsonSourceClaim[2] (trzeci element kolekcji ciągów):

        {
          "key": "membershipID",
          "value": 6353399
        }
      
    • jsonSourceClaim[3] (kolekcja ciągów czwarty element):

        {
          "key": "active",
          "value": true
        }
      
    • jsonSourceClaim[4] (kolekcja ciągów piąty element):

        {
          "key": "birthDate",
          "value": "2005-09-23T00:00:00Z"
        }
      
  • Parametry wejściowe:

    • errorOnMissingClaims: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: klucz
    • jsonSourceValueName: value
  • Oświadczenia wyjściowe:

    • e-mail: "someone@example.com"
    • displayName: "Ktoś"
    • membershipID: 6353399
    • aktywne: true
    • birthDate: 2005-09-23T00:00:00Z

GetNumericClaimFromJson

Pobiera określony element liczbowy (długi) z danych JSON. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim inputJson ciąg Oświadczenie z ładunkiem JSON. To oświadczenie jest używane przez przekształcenie oświadczeń w celu uzyskania oświadczenia liczbowego.
Inputparameter claimToExtract ciąg Nazwa elementu JSON do wyodrębnienia.
OutputClaim extractedClaim długi Oświadczenie, które jest generowane po wywołaniu tej transformacji oświadczeń, wartość elementu określona w parametrach wejściowych claimToExtract .

Przykład polecenia GetNumericClaimFromJson

W poniższym przykładzie przekształcenie oświadczeń wyodrębnia id element z danych 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>
  • Oświadczenia wejściowe:

    • inputJson:

      {
        "emailAddress": "someone@example.com",
        "displayName": "Someone",
        "id": 6353399
      }
      
  • Parametry wejściowe

    • claimToExtract: id
  • Oświadczenia wyjściowe:

    • extractedClaim: 6353399

GetSingleItemFromJson

Pobiera pierwszy element z danych JSON. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim inputJson ciąg Oświadczenie z ładunkiem JSON. To oświadczenie jest używane przez przekształcenie oświadczeń w celu pobrania elementu z danych JSON.
OutputClaim key ciąg Pierwszy klucz elementu w formacie JSON.
OutputClaim wartość ciąg Pierwsza wartość elementu w formacie JSON.

Przykład polecenia GetSingleItemFromJson

W poniższym przykładzie przekształcenie oświadczeń wyodrębnia pierwszy element (nazwę) z danych JSON.

<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>
  • Oświadczenia wejściowe:

    • inputJson:

      {
        "givenName": "Emily",
        "lastName": "Smith"
      }
      
  • Oświadczenia wyjściowe:

    • key: givenName
    • wartość: Emilty

GetSingleValueFromJsonArray

Pobiera pierwszy element z tablicy danych JSON. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim inputJsonClaim ciąg Oświadczenie z ładunkiem JSON. To oświadczenie jest używane przez przekształcenie oświadczeń w celu uzyskania wartości z tablicy JSON.
OutputClaim extractedClaim ciąg Oświadczenie, które jest generowane po wywołaniu tego przekształcenia oświadczeń, pierwszy element w tablicy JSON.

Przykład getSingleValueFromJsonArray

W poniższym przykładzie przekształcenie oświadczeń wyodrębnia pierwszy element (adres e-mail) z tablicy ["someone@example.com", "Someone", 6353399]JSON .

<ClaimsTransformation Id="GetEmailFromJson" TransformationMethod="GetSingleValueFromJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userData" TransformationClaimType="inputJsonClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Oświadczenia wejściowe:
    • inputJsonClaim: ["someone@example.com", "Ktoś", 6353399]
  • Oświadczenia wyjściowe:
    • extractedClaim: someone@example.com

XmlStringToJsonString

Konwertowanie danych XML na format JSON. Zapoznaj się z pokazem na żywo tej transformacji oświadczeń.

Element TransformationClaimType Typ danych Uwagi
InputClaim xml ciąg Oświadczenie z ładunkiem XML. To oświadczenie jest używane przez przekształcenie oświadczeń w celu przekonwertowania danych z formatu XML na format JSON.
OutputClaim json ciąg Oświadczenie, które jest generowane po wywołaniu tego przekształcenia oświadczeń, dane w formacie JSON.
<ClaimsTransformation Id="ConvertXmlToJson" TransformationMethod="XmlStringToJsonString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="intpuXML" TransformationClaimType="xml" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="outputJson" TransformationClaimType="json" />
  </OutputClaims>
</ClaimsTransformation>

Przykład elementu XmlStringToJsonString

W poniższym przykładzie przekształcenie oświadczeń konwertuje następujące dane XML na format JSON.

Oświadczenie wejściowe:

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

Oświadczenie wyjściowe:

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

Następne kroki