Teilen über


Transformationen von JSON-Ansprüchen

In diesem Artikel werden Beispiele für die Verwendung von Transformationen von JSON-Ansprüchen für das Identity Experience Framework-Schema in Azure Active Directory B2C (Azure AD B2C) veranschaulicht. Weitere Informationen finden Sie unter Transformationen von Ansprüchen.

CreateJsonArray

Erstellen Sie ein JSON-Einzelelementarray aus einem Anspruchswert. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim inputClaim Zeichenfolge Der Anspruch, der dem Ausgabeanspruch hinzugefügt werden soll.
OutputClaim outputClaim Zeichenfolge Dies ist der JSON-String, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde.

Beispiel für CreateJsonArray

Im folgenden Beispiel wird ein einzelnes JSON-Array erstellt.

<ClaimsTransformation Id="createlJsonPayload" TransformationMethod="CreateJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Eingabeansprüche:
    • inputClaim: someone@example.com
  • Ausgabeansprüche:
    • outputClaim: ["someone@contoso.com"]

GenerateJson

Verwenden Sie entweder Anspruchswerte oder Konstanten, um eine JSON-Zeichenfolge zu generieren. Die Pfadzeichenfolge in Punktnotation wird verwendet, um anzugeben, an welcher Stelle die Daten in einer JSON-Zeichenfolge eingefügt werden sollen. Nach dem Unterteilen durch Punkte werden alle ganzen Zahlen als Index eines JSON-Arrays interpretiert und nicht ganzzahlige Werte als Index eines JSON-Objekts.

Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim Beliebige Zeichenfolge in Punktnotation Zeichenfolge Der JsonPath der JSON-Zeichenfolge, in den der Anspruchswert eingefügt wird.
InputParameter Beliebige Zeichenfolge in Punktnotation Zeichenfolge Der JsonPath der JSON-Zeichenfolge, in den der Zeichenfolgenwert der Konstante eingefügt wird.
OutputClaim outputClaim Zeichenfolge Die generierte JSON-Zeichenfolge.

JSON-Arrays

Verwenden Sie zum Hinzufügen von JSON-Objekten zu einem JSON-Array das Format des Arraynamens und des Indexes im Array. Das Array basiert auf null. Beginnen Sie mit null bis N, ohne eine Zahl zu überspringen. Die Elemente im Array können jedes Objekt enthalten. Das erste Element enthält beispielsweise zwei Objekte, app und appId. Das zweite Element enthält ein einzelnes Objekt, program. Das dritte Element enthält vier Objekte, color, language, logo und background.

Im folgenden Beispiel wird veranschaulicht, wie JSON-Arrays konfiguriert werden. Das Array emails verwendet InputClaims mit dynamischen Werten. Das Array values verwendet InputParameters mit statischen Werten.

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

Das Ergebnis dieser Anspruchstransformation:

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

Um ein JSON-Array sowohl in den Eingabeansprüchen als auch in den Eingabeparametern anzugeben, müssen Sie das Array im InputClaims-Element starten, von null bis N. Führen Sie dann im InputParameters-Element den Index vom letzten Index aus fort.

Im folgenden Beispiel wird ein Array veranschaulicht, das sowohl in den Eingabeansprüchen als auch in den Eingabeparametern definiert ist. Das erste Element des values-Arrays values.0 wird in den Eingabeansprüchen definiert. Die Eingabeparameter werden von Index eins values.1 bis Index zwei values.2 fortgesetzt.

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

Beispiel für GenerateJson

Im folgenden Beispiel werden eine JSON-Zeichenfolge basierend auf dem Anspruchswert „email“ und „OTP“ sowie Konstantenzeichenfolgen generiert.

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

Die folgende Anspruchstransformation gibt einen JSON-Zeichenfolgenanspruch aus, der als Text der an SendGrid (E-Mail-Drittanbieter) gesendeten Anforderung verwendet wird. Die Struktur des JSON-Objekts wird durch die IDs in der Punktnotation der InputParameters und der TransformationClaimTypes der InputClaims definiert. Zahlen in Punktnotation implizieren Arrays. Die Werte stammen aus den Werten der InputClaims und den Value-Eigenschaften der InputParameters.

  • Eingabeansprüche:
    • email, transformation claim type personalizations.0.to.0.email: "someone@example.com"
    • copiedEmail, Transformationsanspruchstyp personalizations.0.dynamic_template_data.verify-email: „someone@example.com“
    • otp, Anspruchstransformationstyp personalizations.0.dynamic_template_data.otp "346349"
  • Eingabeparameter:
    • template_id: "d-4c56ffb40fa648b1aa6822283df94f60"
    • from.email: "service@contoso.com"
    • personalizations.0.subject "Contoso account email verification code"
  • Ausgabeanspruch:
    • 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"
        }
      }
      

Beispiel für GenerateJson

Im folgenden Beispiel werden eine JSON-Zeichenfolge basierend auf den Anspruchswerten sowie Konstantenzeichenfolgen generiert.

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

Die folgende Anspruchstransformation gibt einen JSON-Zeichenfolgenanspruch aus, der als Text der an eine REST-API gesendeten Anforderung verwendet wird. Die Struktur des JSON-Objekts wird durch die IDs in der Punktnotation der InputParameters und der TransformationClaimTypes der InputClaims definiert. Die Werte stammen aus den Werten der InputClaims und den Value-Eigenschaften der InputParameters.

  • Eingabeansprüche:
    • email, transformation claim type customerEntity.email: "john.s@contoso.com"
    • objectId, Transformationsanspruchstyp customerEntity.userObjectId: „01234567-89ab-cdef-0123-456789abcdef“
    • givenName, Transformationsanspruchstyp customerEntity.firstName: „John“
    • surname, Transformationsanspruchstyp customerEntity.lastName: „Smith“
  • Eingabeparameter:
    • customerEntity.role.name: "Administrator"
    • customerEntity.role.id 1
  • Ausgabeanspruch:
    • requestBody:

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

Die Anspruchstransformation GenerateJson akzeptiert einfache Zeichenfolgen. Wenn ein Eingabeanspruch eine JSON-Zeichenfolge enthält, wird diese Zeichenfolge mit Escapezeichen versehen. Wenn Sie im folgenden Beispiel die E-Mail-Ausgabe des obigen CreateJsonArray-Beispiels (also [“someone@contoso.com“] als Eingabeparameter) verwenden, sieht die E-Mail wie im folgenden JSON-Anspruch dargestellt aus:

  • Ausgabeanspruch:
    • requestBody:

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

GetClaimFromJson

Abrufen eines angegebenen JSON-Datenelements Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim inputJson Zeichenfolge Die Anspruchstypen, die von der Anspruchstransformation verwendet werden, um das Element abzurufen
InputParameter claimToExtract Zeichenfolge Der Name des JSON-Elements, das extrahiert werden soll
OutputClaim extractedClaim Zeichenfolge Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation ausgelöst wurde. Es handelt sich um den Elementwert, der im Eingabeparameter claimToExtract angegeben ist.

Beispiel für GetClaimFromJson

Im folgenden Beispiel hat die Anspruchstransformation das emailAddress-Element aus dem JSON-Datenelement extrahiert: {"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>
  • Eingabeansprüche:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
  • Eingabeparameter:
    • claimToExtract: emailAddress
  • Ausgabeansprüche:
    • extractedClaim: someone@example.com

Beispiel für GetClaimFromJson

Die Anspruchstransformation „GetClaimFromJson“ ruft ein einzelnes Element aus JSON-Daten ab. Im vorherigen Beispiel war das die E-Mail-Adresse (emailAddress). Zum Abrufen des Anzeigenamens (displayName) muss eine weitere Anspruchstransformation erstellt werden. Zum Beispiel:

<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>
  • Eingabeansprüche:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
  • Eingabeparameter:
    • claimToExtract: displayName
  • Ausgabeansprüche:
    • extractedClaim: Someone

GetClaimsFromJsonArray

Abrufen einer Liste der angegebenen JSON-Datenelemente Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim jsonSourceClaim Zeichenfolge Der Anspruch mit der JSON-Nutzlast. Dieser Anspruch wird die von der Anspruchstransformation verwendet, um die Ansprüche abzurufen
InputParameter errorOnMissingClaims boolean Gibt an, ob ein Fehler ausgelöst werden soll, wenn einer der Ansprüche fehlt.
InputParameter includeEmptyClaims Zeichenfolge Gibt an, dass leere Ansprüche hinzugefügt werden sollen.
InputParameter jsonSourceKeyName Zeichenfolge Name des Elementschlüssels
InputParameter jsonSourceValueName Zeichenfolge Name des Elementwerts
OutputClaim Collection string, int, boolean und datetime Liste mit Ansprüchen, die extrahiert werden sollen. Der Name des Anspruchs soll dem Namen entsprechen, der im Eingabeanspruch jsonSourceClaim angegeben ist.

Beispiel für GetClaimsFromJsonArray

In diesem Beispiel extrahiert die Anspruchstransformation die folgenden Ansprüche aus dem JSON-Datenelement: email (string), displayName (string), membershipNum (int), active (boolean) und 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>
  • Eingabeansprüche:

    • 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"
        }
      ]
      
  • Eingabeparameter:

    • errorOnMissingClaims: FALSE
    • includeEmptyClaims: FALSE
    • jsonSourceKeyName: Schlüssel
    • jsonSourceValueName: Wert
  • Ausgabeansprüche:

    • email: "someone@example.com"
    • displayName: "Someone"
    • membershipID: 6353399
    • active: TRUE
    • birthDate: 2005-09-23T00:00:00Z

GetClaimsFromJsonArrayV2

Rufen Sie eine Liste der angegebenen Elemente aus einer Zeichenfolgensammlung mit JSON-Elementen ab. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim jsonSourceClaim stringCollection Der Anspruch mit einer Zeichenfolgensammlung mit den JSON-Nutzdaten. Dieser Anspruch wird die von der Anspruchstransformation verwendet, um die Ansprüche abzurufen
InputParameter errorOnMissingClaims boolean Gibt an, ob ein Fehler ausgelöst werden soll, wenn einer der Ansprüche fehlt.
InputParameter includeEmptyClaims Zeichenfolge Gibt an, dass leere Ansprüche hinzugefügt werden sollen.
InputParameter jsonSourceKeyName Zeichenfolge Name des Elementschlüssels
InputParameter jsonSourceValueName Zeichenfolge Name des Elementwerts
OutputClaim Collection string, int, boolean und datetime Liste mit Ansprüchen, die extrahiert werden sollen. Der Name des Anspruchs soll dem Namen entsprechen, der im Eingabeanspruch jsonSourceClaim angegeben ist.

Beispiel für GetClaimsFromJsonArrayV2

In diesem Beispiel extrahiert die Anspruchstransformation die folgenden Ansprüche aus dem JSON-Datenelement: email (string), displayName (string), membershipNum (int), active (boolean) und 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>
  • Eingabeansprüche:

    • jsonSourceClaim[0] (erstes Element der Zeichenfolgensammlung):

        {
          "key": "email",
          "value": "someone@example.com"
        }
      
    • jsonSourceClaim[1] (zweites Element der Zeichenfolgensammlung):

        {
          "key": "displayName",
          "value": "Someone"
        }
      
    • jsonSourceClaim[2] (drittes Element der Zeichenfolgensammlung):

        {
          "key": "membershipID",
          "value": 6353399
        }
      
    • jsonSourceClaim[3] (viertes Element der Zeichenfolgensammlung):

        {
          "key": "active",
          "value": true
        }
      
    • jsonSourceClaim[4] (fünftes Element der Zeichenfolgensammlung):

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

    • errorOnMissingClaims: FALSE
    • includeEmptyClaims: FALSE
    • jsonSourceKeyName: Schlüssel
    • jsonSourceValueName: Wert
  • Ausgabeansprüche:

    • email: "someone@example.com"
    • displayName: "Someone"
    • membershipID: 6353399
    • active: TRUE
    • birthDate: 2005-09-23T00:00:00Z

GetNumericClaimFromJson

Abrufen eines angegebenen numerisches JSON-Datenelements (long) Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim inputJson Zeichenfolge Der Anspruch mit der JSON-Nutzlast. Dieser Anspruch wird die von der Anspruchstransformation verwendet, um den numerischen Anspruch abzurufen
InputParameter claimToExtract Zeichenfolge Der Name des JSON-Elements, das extrahiert werden soll
OutputClaim extractedClaim long Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation ausgelöst wurde. Es handelt sich um den Elementwert, der im Eingabeparameter claimToExtract angegeben ist.

Beispiel für GetNumericClaimFromJson

Im folgenden Beispiel extrahiert die Anspruchtransformation das id-Element aus dem JSON-Datenelement.

<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>
  • Eingabeansprüche:

    • inputJson:

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

    • claimToExtract: id
  • Ausgabeansprüche:

    • extractedClaim: 6353399

GetSingleItemFromJson

Ruft das erste Element aus einem JSON-Datenelement ab. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim inputJson Zeichenfolge Der Anspruch mit der JSON-Nutzlast. Dieser Anspruch wird von der Anspruchstransformation verwendet, um das Element aus den JSON-Daten abzurufen.
OutputClaim Schlüssel Zeichenfolge Der erste Elementschlüssel im JSON-Code.
OutputClaim value Zeichenfolge Der erste Elementwert im JSON-Code.

Beispiel für GetSingleItemFromJson

Im folgenden Beispiel extrahiert die Anspruchstransformation das erste Element (den Vornamen) aus den JSON-Daten.

<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>
  • Eingabeansprüche:

    • inputJson:

      {
        "givenName": "Emily",
        "lastName": "Smith"
      }
      
  • Ausgabeansprüche:

    • key: givenName
    • value: Emily

GetSingleValueFromJsonArray

Abrufen des ersten Elements aus dem JSON-Datenarray. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim inputJsonClaim Zeichenfolge Der Anspruch mit der JSON-Nutzlast. Dieser Anspruch wird von der Anspruchstransformation verwendet, um den Wert aus den JSON-Array abzurufen.
OutputClaim extractedClaim Zeichenfolge Der Anspruch, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Es handelt sich hierbei um das erste Element im JSON-Array.

GetSingleValueFromJsonArray

Im folgenden Beispiel extrahiert die Anspruchstransformation das erste Element (die E-Mail-Adresse) aus dem JSON-Array ["someone@example.com", "Someone", 6353399].

<ClaimsTransformation Id="GetEmailFromJson" TransformationMethod="GetSingleValueFromJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userData" TransformationClaimType="inputJsonClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Eingabeansprüche:
    • inputJsonClaim: ["someone@example.com", "Someone", 6353399]
  • Ausgabeansprüche:
    • extractedClaim: someone@example.com

XmlStringToJsonString

Konvertieren von XML-Daten ins JSON-Format. Sehen Sie sich die Livedemo dieser Anspruchstransformation an.

Element TransformationClaimType Datentyp Notizen
InputClaim Xml Zeichenfolge Der Anspruch mit der XML-Nutzlast. Dieser Anspruch ist von der Anspruchstransformation verwendet, um das Datenelement von XML ins JSON-Format zu konvertieren.
OutputClaim json Zeichenfolge Der Anspruchstyp, der erstellt wird, nachdem diese Anspruchstransformation aufgerufen wurde. Es handelt sich hierbei um die Daten im JSON-Format.
<ClaimsTransformation Id="ConvertXmlToJson" TransformationMethod="XmlStringToJsonString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="intpuXML" TransformationClaimType="xml" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="outputJson" TransformationClaimType="json" />
  </OutputClaims>
</ClaimsTransformation>

Beispiel für XmlStringToJsonString

Im folgenden Beispiel konvertiert die Anspruchstransformation die folgenden XML-Daten ins JSON-Format.

Eingabeanspruch:

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

Ausgabeanspruch:

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

Nächste Schritte