Udostępnij za pośrednictwem


Przekształcenia oświadczeń JSON

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

Element TransformationClaimType Typ danych Uwagi
InputClaim inputClaim string Oświadczenie, które ma zostać dodane do oświadczenia wyjściowego.
OutputClaim outputClaim string 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 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ń.

Element TransformationClaimType Typ danych Uwagi
InputClaim Dowolny ciąg po notacji kropkowej string JsonPath kodu JSON, do którego zostanie wstawiona wartość oświadczenia.
InputParameter Dowolny ciąg po notacji kropkowej string JsonPath kodu JSON, do którego zostanie wstawiona stała wartość ciągu.
OutputClaim outputClaim string 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 values.0 wartości 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ń.

Element TransformationClaimType Typ danych Uwagi
InputClaim inputJson string Oświadczenia, które są używane przez przekształcenie oświadczeń w celu pobrania elementu.
InputParameter claimToExtract string nazwa elementu JSON do wyodrębnienia.
OutputClaim extractedClaim string 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: 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ń. Na 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 string 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 string Określ, czy mają być uwzględniane puste oświadczenia.
InputParameter jsonSourceKeyName string Nazwa klucza elementu
InputParameter jsonSourceValueName string Nazwa wartości elementu
OutputClaim 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: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: klucz
    • jsonSourceValueName: wartość
  • 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 string Określ, czy mają być uwzględniane puste oświadczenia.
InputParameter jsonSourceKeyName string Nazwa klucza elementu
InputParameter jsonSourceValueName string Nazwa wartości elementu
OutputClaim 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: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: klucz
    • jsonSourceValueName: wartość
  • 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 string Oświadczenie z ładunkiem JSON. To oświadczenie jest używane przez przekształcenie oświadczeń w celu uzyskania oświadczenia liczbowego.
InputParameter claimToExtract string Nazwa elementu JSON do wyodrębnienia.
OutputClaim extractedClaim 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: 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 string Oświadczenie z ładunkiem JSON. To oświadczenie jest używane przez przekształcenie oświadczeń w celu pobrania elementu z danych JSON.
OutputClaim klucz string Pierwszy klucz elementu w formacie JSON.
OutputClaim wartość string 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:

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

Element TransformationClaimType Typ danych Uwagi
InputClaim xml string 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 string 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="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

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