Udostępnij za pośrednictwem


Przekształcenia oświadczeń JSON

Ważne

Od 1 maja 2025 r. usługa Azure AD B2C nie będzie już dostępna do zakupu dla nowych klientów. Dowiedz się więcej w naszych często zadawanych pytaniach.

Ten artykuł zawiera przykłady użycia przekształceń oświadczeń JSON schematu struktury środowiska 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ę pojedynczych elementów JSON na podstawie wartości oświadczenia. Zapoznaj się z pokazem live tej transformacji oświadczeń.

Składnik TransformationClaimType Typ danych Uwagi
Oświadczenie wejściowe inputClaim (Twierdzenie wejściowe) sznurek Oświadczenie, które ma zostać dodane do oświadczenia wyjściowego.
OutputClaim (Roszczenie wyjściowe) outputClaim (roszczenie wyjściowe) sznurek 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="CreateJsonPayload" 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]

Generowanie kodu Json

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 według kropek wszystkie liczby całkowite są interpretowane jako indeks tablicy JSON, a liczby inne niż liczby całkowite są interpretowane jako indeks obiektu JSON.

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

Składnik TransformationClaimType Typ danych Uwagi
Oświadczenie wejściowe Dowolny ciąg po notacji kropkowej sznurek JsonPath kodu JSON, do którego zostanie wstawiona wartość oświadczenia.
Parametr wejściowy Dowolny ciąg po notacji kropkowej sznurek JsonPath kodu JSON, do którego zostanie wstawiona stała wartość ciągu.
OutputClaim (Roszczenie wyjściowe) outputClaim (roszczenie wyjściowe) sznurek 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 z wartościami dynamicznymi. 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 tego przekształcenia 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 elemecie InputClaims zero do N. Następnie w elemecie InputParameters 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 jest zdefiniowany w oświadczeniach wejściowych. Parametry wejściowe są kontynuowane z 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 pliku 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>

Następujące oświadczenia przekształcenia wyprowadza 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 elementu 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:
    • adres 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 poczty 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>

Następujące oświadczenia przekształcenia wyprowadza 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 elementu InputClaims. Wartości pochodzą z wartości InputClaims i właściwości InputParameters "Value".

  • Oświadczenia wejściowe:
    • adres e-mail, typ oświadczenia przekształcenia customerEntity.email: "john.s@contoso.com"
    • objectId, typ oświadczenia przekształcenia customerEntity.userObjectId "aaaaa-0000-1111-2222-bbbbbbbbbb"
    • 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":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
            "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 wiadomości e-mail z powyższego polecenia CreateJsonArray, to jest to ["someone@contoso.com"], jako parametr wejściowy, wiadomość e-mail będzie wyglądać tak, jak pokazano w poniższym oświadczeniu JSON:

  • Oświadczenie wyjściowe:
    • requestBody:

      {
         "customerEntity":{
            "email":"[\"someone@contoso.com\"]",
            "userObjectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
            "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ń.

Składnik TransformationClaimType Typ danych Uwagi
Oświadczenie wejściowe inputJson (wejśćJson) sznurek Oświadczenia, które są używane przez przekształcenie oświadczeń w celu pobrania elementu.
Parametr wejściowy claimToExtract (roszczenie) sznurek nazwa elementu JSON do wyodrębnienia.
OutputClaim (Roszczenie wyjściowe) extractedClaim (Roszczenie wyodrębnione) sznurek Oświadczenie, które jest generowane po wywołaniu tego przekształcenia oświadczeń, wartość elementu określona w claimToExtract parametr wejściowy.

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: adres e-mail
  • 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ń. Na przykład:

<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>
  • 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ń.

Składnik TransformationClaimType Typ danych Uwagi
Oświadczenie wejściowe jsonSourceClaim (Twierdzenie źródłowe) sznurek Oświadczenie z ładunkiem JSON. To oświadczenie jest używane przez przekształcenie oświadczeń w celu uzyskania oświadczeń.
Parametr wejściowy errorOnMissingClaims typ logiczny (boolowski) Określa, czy zgłaszać błąd, jeśli brakuje jednego z oświadczeń.
Parametr wejściowy includeEmptyClaims sznurek Określ, czy mają być uwzględniane puste oświadczenia.
Parametr wejściowy jsonSourceKeyName (Nazwa klucza) sznurek Nazwa klucza elementu
Parametr wejściowy jsonSourceValueName (nazwa_wartości_źródłowej) sznurek Nazwa wartości elementu
OutputClaim (Roszczenie wyjściowe) Kolekcja string, int, boolean i datetime Lista oświadczeń do wyodrębnienia. Nazwa oświadczenia powinna być równa tej 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: wartość false
    • includeEmptyClaims: false
    • jsonSourceKeyName: klucz
    • jsonSourceValueName: wartość
  • Oświadczenia wyjściowe:

    • e-mail: "someone@example.com"
    • displayName: "Ktoś"
    • ID: 6353399
    • aktywne: true
    • data urodzenia: 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ń.

Składnik TransformationClaimType Typ danych Uwagi
Oświadczenie wejściowe jsonSourceClaim (Twierdzenie źródłowe) stringCollection (kolekcja ciągów) 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ń.
Parametr wejściowy errorOnMissingClaims typ logiczny (boolowski) Określa, czy zgłaszać błąd, jeśli brakuje jednego z oświadczeń.
Parametr wejściowy includeEmptyClaims sznurek Określ, czy mają być uwzględniane puste oświadczenia.
Parametr wejściowy jsonSourceKeyName (Nazwa klucza) sznurek Nazwa klucza elementu
Parametr wejściowy jsonSourceValueName (nazwa_wartości_źródłowej) sznurek Nazwa wartości elementu
OutputClaim (Roszczenie wyjściowe) Kolekcja string, int, boolean i datetime Lista oświadczeń do wyodrębnienia. Nazwa oświadczenia powinna być równa tej 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] (czwarty element kolekcji ciągów):

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

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

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

    • e-mail: "someone@example.com"
    • displayName: "Ktoś"
    • ID: 6353399
    • aktywne: true
    • data urodzenia: 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ń.

Składnik TransformationClaimType Typ danych Uwagi
Oświadczenie wejściowe inputJson (wejśćJson) sznurek Oświadczenie z ładunkiem JSON. To oświadczenie jest używane przez przekształcenie oświadczeń w celu uzyskania oświadczenia liczbowego.
Parametr wejściowy claimToExtract (roszczenie) sznurek Nazwa elementu JSON do wyodrębnienia.
OutputClaim (Roszczenie wyjściowe) extractedClaim (Roszczenie wyodrębnione) długi Oświadczenie, które jest tworzone po wywołaniu tego przekształcenia 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: identyfikator
  • Oświadczenia wyjściowe:

    • extractedClaim: 6353399

GetSingleItemFromJson

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

Składnik TransformationClaimType Typ danych Uwagi
Oświadczenie wejściowe inputJson (wejśćJson) sznurek Oświadczenie z ładunkiem JSON. To oświadczenie jest używane przez przekształcenie oświadczeń w celu pobrania elementu z danych JSON.
OutputClaim (Roszczenie wyjściowe) klucz sznurek Pierwszy klucz elementu w formacie JSON.
OutputClaim (Roszczenie wyjściowe) wartość sznurek Pierwsza wartość elementu w formacie JSON.

Przykład 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:

    • klucz: givenName
    • wartość: Emily

GetSingleValueFromJsonArray

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

Składnik TransformationClaimType Typ danych Uwagi
Oświadczenie wejściowe inputJsonClaim (Twierdzenie wejściowe) sznurek Oświadczenie z ładunkiem JSON. To oświadczenie jest używane przez przekształcenie oświadczeń w celu pobrania wartości z tablicy JSON.
OutputClaim (Roszczenie wyjściowe) extractedClaim (Roszczenie wyodrębnione) sznurek 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 live tej transformacji oświadczeń.

Składnik TransformationClaimType Typ danych Uwagi
Oświadczenie wejściowe XML sznurek 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 (Roszczenie wyjściowe) JSON sznurek Oświadczenie, które jest tworzone po wywołaniu tego przekształcenia oświadczeń, dane w formacie JSON.
<ClaimsTransformation Id="ConvertXmlToJson" TransformationMethod="XmlStringToJsonString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="inputXML" 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

  • Znajdź więcej przykładów przekształcania oświadczeń w repozytorium GitHub społeczności usługi Azure AD B2C