Поделиться через


Преобразования утверждений JSON

В этой статье приведены примеры использования преобразований утверждений JSON схемы Identity Experience Framework в Azure Active Directory B2C (Azure AD B2C). Дополнительные сведения см. в статье о преобразовании утверждений.

CreateJsonArray

Создайте одноэлементный массив JSON из значения утверждения. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType Тип данных Примечания.
InputClaim InputClaim строка Тип утверждения, добавляемый к исходящему утверждению.
outputClaim outputClaim строка Строка JSON, которая создается после вызова этого преобразования утверждений.

Пример CreatJsonArray

В следующем примере создается один массив JSON.

<ClaimsTransformation Id="createlJsonPayload" TransformationMethod="CreateJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Входные утверждения:
    • inputClaim: someone@example.com.
  • Выходные утверждения:
    • outputClaim: ["someone@contoso.com"]

GenerateJson

Чтобы создать строку JSON, используйте либо значения утверждения, либо константы. Строка пути, следующая за точечной нотацией, используется для указания места вставки данных в строку JSON. После разделения точками любые целые числа интерпретируются как индекс массива JSON, а нецелочисленные значения — как индекс объекта JSON.

Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType Тип данных Примечания.
InputClaim Любая строка, следующая за точечной нотацией строка JsonPath JSON, куда вставляется значение утверждения.
InputParameter Любая строка, следующая за точечной нотацией строка JsonPath JSON, куда вставляется строковое значение константы.
outputClaim outputClaim строка Созданная строка JSON.

Массивы JSON

Чтобы добавить объекты JSON в массив JSON, используйте формат имени массива и индекс в массиве. Массив состоит из нулей. Начните с нуля до N, не пропуская ни одно число. Элементы в массиве могут содержать любой объект. Например, первый элемент содержит два объекта: app и appId. Второй элемент содержит один объект: program. Третий элемент содержит четыре объекта: color, language, logo и background.

В следующем примере показано, как настроить массивы JSON. Массив emails использует InputClaims с динамическими значениями. Массив values использует InputParameters со статическими значениями.

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

Результат преобразования утверждений:

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

Чтобы указать массив JSON как во входных утверждениях, так и во входных параметрах, необходимо запустить массив в элементе InputClaims, от нуля до N. Затем в элементе InputParameters продолжите индекс из последнего индекса.

В следующем примере показан массив, определенный как во входных утверждениях, так и во входных параметрах. Первый элемент массива values values.0 определяется во входных утверждениях. Входные параметры продолжаются от первого индекса values.1 до индекса два 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>

Пример GenerateJson

В приведенном ниже примере создается строка JSON на основе значения утверждения email и OTP, а также строк констант.

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

В указанном ниже преобразовании утверждений выводится строковое утверждение JSON, которое будет текстом запроса, отправленного в SendGrid (сторонний поставщик электронной почты). Структура объекта JSON определяется идентификаторами в точечной нотации InputParameters и TransformationClaimTypes в InputClaims. Числа в точечной нотации представляют массивы. Значения берутся из значений InputClaims и свойств "Value" для InputParameters.

  • Входные утверждения:
    • email, тип утверждения преобразования personalizations.0.to.0.email: someone@example.com;
    • copiedEmail, тип утверждения преобразования personalizations.0.dynamic_template_data.verify-email: "someone@example.com"
    • otp, тип утверждения преобразования personalizations.0.dynamic_template_data.otp 346349.
  • Входной параметр:
    • template_id: d-4c56ffb40fa648b1aa6822283df94f60;
    • from.email: service@contoso.com;
    • personalizations.0.subject: код проверки электронной почты учетной записи Contoso.
  • Утверждение вывода:
    • outputClaim:

      {
        "personalizations": [
          {
            "to": [
              {
                "email": "someone@example.com"
              }
            ],
            "dynamic_template_data": {
              "otp": "346349",
              "verify-email" : "someone@example.com"
            },
            "subject": "Contoso account email verification code"
          }
        ],
        "template_id": "d-989077fbba9746e89f3f6411f596fb96",
        "from": {
          "email": "service@contoso.com"
        }
      }
      

Другой пример GenerateJson

В приведенном ниже примере создается строка JSON на основе значений утверждения и строк констант.

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

В указанном ниже преобразовании утверждений выводится строковое утверждение JSON, которое будет текстом запроса, отправленного в REST API. Структура объекта JSON определяется идентификаторами в точечной нотации InputParameters и TransformationClaimTypes в InputClaims. Значения берутся из значений InputClaims и свойств "Value" для InputParameters.

  • Входные утверждения:
    • email, тип утверждения преобразования customerEntity.email: john.s@contoso.com;
    • objectId, тип утверждения преобразования customerEntity.userObjectId "aaaaaa-0000-1111-2222-bbbb"
    • givenName, тип утверждения преобразования customerEntity.firstName John;
    • surname, тип утверждения преобразования customerEntity.lastName Smith.
  • Входной параметр:
    • customerEntity.role.name: администратор.
    • customerEntity.role.id 1.
  • Утверждение вывода:
    • requestBody:

      {
         "customerEntity":{
            "email":"john.s@contoso.com",
            "userObjectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
            "firstName":"John",
            "lastName":"Smith",
            "role":{
               "name":"Administrator",
               "id": 1
            }
         }
      }
      

Преобразование утверждений GenerateJson принимает обычные строки. Если входное утверждение содержит строку JSON, эта строка будет экранирована. В следующем примере, если вы используете выходные данные электронной почты из CreateJsonArray выше, то есть ["someone@contoso.com], в качестве входного параметра электронная почта будет выглядеть, как показано в следующем утверждении JSON:

  • Утверждение вывода:
    • requestBody:

      {
         "customerEntity":{
            "email":"[\"someone@contoso.com\"]",
            "userObjectId":"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
            "firstName":"John",
            "lastName":"Smith",
            "role":{
               "name":"Administrator",
               "id": 1
            }
         }
      }
      

GetClaimFromJson

Возвращает указанный элемент из данных JSON. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType Тип данных Примечания.
InputClaim inputJson строка Утверждения, используемые в преобразовании утверждений для получения элемента.
InputParameter claimToExtract строка Имя элемента JSON, который требуется извлечь.
outputClaim extractedClaim строка Утверждение, созданное после вызова преобразования утверждений (значение элемента указано во входном параметре claimToExtract).

Пример GetClaimFromJson

В следующем примере в процессе преобразования утверждений извлекается элемент emailAddress из данных 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>
  • Входные утверждения:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
  • Входной параметр:
    • claimToExtract: emailAddress.
  • Выходные утверждения:
    • extractedClaim: someone@example.com.

Другой пример GetClaimFromJson

Преобразование утверждения GetClaimFromJson получает один элемент из данных JSON. В предыдущем примере — emailAddress. Чтобы получить displayName, создайте другое преобразование утверждений. Например:

<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>
  • Входные утверждения:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
  • Входной параметр:
    • claimToExtract: displayName
  • Выходные утверждения:
    • extractedClaim: Someone

GetClaimsFromJsonArray

Возвращает список указанных элементов из данных JSON. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType Тип данных Примечания.
InputClaim jsonSourceClaim строка Утверждение с полезной нагрузкой JSON. Это утверждение используется в преобразовании утверждений для получения утверждений.
InputParameter errorOnMissingClaims boolean Указывает, следует ли выдавать ошибку, если одно из утверждений отсутствует.
InputParameter includeEmptyClaims строка Указывает, следует ли включать пустые утверждения.
InputParameter jsonSourceKeyName строка Имя ключа элемента
InputParameter jsonSourceValueName строка Имя значения элемента
outputClaim Коллекция string, int, boolean и datetime Список утверждений для извлечения. Имя утверждения должно соответствовать указанному имени во входящем утверждении jsonSourceClaim.

Пример GetClaimsFromJsonArray

В следующем примере в процессе преобразования утверждений из данных JSON извлекаются следующие утверждения: email (string), displayName (string), membershipNum (int), active (boolean) и 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>
  • Входящие утверждения:

    • 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"
        }
      ]
      
  • Входные параметры:

    • errorOnMissingClaims: false.
    • includeEmptyClaims: false.
    • jsonSourceKeyName: key.
    • jsonSourceValueName: value.
  • Исходящие утверждения:

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

GetClaimsFromJsonArrayV2

Получение списка указанных элементов из элементов JSON коллекции строк. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType Тип данных Примечания.
InputClaim jsonSourceClaim stringCollection Утверждение коллекции строк с полезными данными JSON. Это утверждение используется в преобразовании утверждений для получения утверждений.
InputParameter errorOnMissingClaims boolean Указывает, следует ли выдавать ошибку, если одно из утверждений отсутствует.
InputParameter includeEmptyClaims строка Указывает, следует ли включать пустые утверждения.
InputParameter jsonSourceKeyName строка Имя ключа элемента
InputParameter jsonSourceValueName строка Имя значения элемента
outputClaim Коллекция string, int, boolean и datetime Список утверждений для извлечения. Имя утверждения должно соответствовать указанному имени во входящем утверждении jsonSourceClaim.

Пример GetClaimsFromJsonArrayV2

В следующем примере в процессе преобразования утверждений из данных JSON извлекаются следующие утверждения: email (string), displayName (string), membershipNum (int), active (boolean) и 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>
  • Входящие утверждения:

    • jsonSourceClaim[0] (первый элемент коллекции строк):

        {
          "key": "email",
          "value": "someone@example.com"
        }
      
    • jsonSourceClaim[1] (второй элемент коллекции строк):

        {
          "key": "displayName",
          "value": "Someone"
        }
      
    • jsonSourceClaim[2] (третий элемент коллекции строк):

        {
          "key": "membershipID",
          "value": 6353399
        }
      
    • jsonSourceClaim[3] (четвертый элемент коллекции строк):

        {
          "key": "active",
          "value": true
        }
      
    • jsonSourceClaim[4] (пятый элемент коллекции строк):

        {
          "key": "birthDate",
          "value": "2005-09-23T00:00:00Z"
        }
      
  • Входные параметры:

    • errorOnMissingClaims: false.
    • includeEmptyClaims: false.
    • jsonSourceKeyName: key.
    • jsonSourceValueName: value.
  • Исходящие утверждения:

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

GetNumericClaimFromJson

Возвращает указанный числовой элемент (long) из данных JSON. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType Тип данных Примечания.
InputClaim inputJson строка Утверждение с полезной нагрузкой JSON. Это утверждение используется в преобразовании утверждений для получения числовых утверждений.
InputParameter claimToExtract строка Имя извлекаемого элемента JSON.
outputClaim extractedClaim длинный Утверждение, созданное после вызова преобразования утверждений (значение элемента указано во входных параметрах claimToExtract).

Пример GetNumericClaimFromJson

В следующем примере в процессе преобразования утверждений из данных JSON извлекается элемент id.

<ClaimsTransformation Id="GetIdFromResponse" TransformationMethod="GetNumericClaimFromJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="exampleInputClaim" TransformationClaimType="inputJson" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="claimToExtract" DataType="string" Value="id" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="membershipId" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Входящие утверждения:

    • inputJson:

      {
        "emailAddress": "someone@example.com",
        "displayName": "Someone",
        "id": 6353399
      }
      
  • Входные параметры

    • claimToExtract: id
  • Исходящие утверждения:

    • extractedClaim: 6353399.

GetSingleItemFromJson

Возвращает первый элемент из данных JSON. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType Тип данных Примечания.
InputClaim inputJson строка Утверждение с полезной нагрузкой JSON. Это утверждение используется в преобразовании утверждений для получения элемента из данных JSON.
outputClaim ключ строка Первый ключ элемента в JSON.
outputClaim значение строка Значение первого элемента в JSON.

Пример GetSingleItemFromJson

В приведенном ниже примере в процессе преобразования утверждений из данных 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>
  • Входящие утверждения:

    • inputJson:

      {
        "givenName": "Emily",
        "lastName": "Smith"
      }
      
  • Исходящие утверждения:

    • key: givenName;
    • value: Emilty.

GetSingleValueFromJsonArray

Возвращает первый элемент из массива данных JSON. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType Тип данных Примечания.
InputClaim inputJsonClaim строка Утверждение с полезной нагрузкой JSON. Это утверждение используется в преобразовании утверждений для получения значения из массива JSON.
outputClaim extractedClaim строка Утверждение, которое создается после вызова преобразования утверждений (первый элемент в массиве JSON).

Пример GetSingleValueFromJsonArray

В следующем примере в процессе преобразования утверждений из массива JSON ["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>
  • Входные утверждения:
    • inputJsonClaim: ["someone@example.com", "Someone", 6353399].
  • Выходные утверждения:
    • extractedClaim: someone@example.com.

XmlStringToJsonString

Преобразование данных XML в формат JSON. Ознакомьтесь с преобразованием этих утверждений в демонстрации в реальном времени.

Элемент TransformationClaimType Тип данных Примечания.
InputClaim xml строка Утверждение с использованием полезных данных XML. Это утверждение используется в преобразовании утверждений для преобразования данных из языка XML в формат JSON.
outputClaim json строка Утверждение, которое создается после вызова преобразования утверждений (данные в формате JSON).
<ClaimsTransformation Id="ConvertXmlToJson" TransformationMethod="XmlStringToJsonString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="intpuXML" TransformationClaimType="xml" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="outputJson" TransformationClaimType="json" />
  </OutputClaims>
</ClaimsTransformation>

Пример XmlStringToJsonString

В следующем примере в процессе преобразования утверждений в формат JSON преобразовываются следующие данные XML.

Входящее утверждение:

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

Исходящее утверждение:

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

Следующие шаги