Преобразования утверждений 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 продолжите индекс из последнего индекса.

В следующем примере показан массив, определенный как во входных утверждениях, так и во входных параметрах. Первый элемент массива valuesvalues.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 01234567-89ab-cdef-0123-456789abcdef;
    • givenName, тип утверждения преобразования customerEntity.firstName John;
    • surname, тип утверждения преобразования customerEntity.lastName Smith.
  • Входной параметр:
    • customerEntity.role.name: администратор.
    • customerEntity.role.id 1.
  • Исходящее утверждение:
    • requestBody:

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

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

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

      {
         "customerEntity":{
            "email":"[\"someone@contoso.com\"]",
            "userObjectId":"01234567-89ab-cdef-0123-456789abcdef",
            "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 Логическое Указывает, следует ли выдавать ошибку, если одно из утверждений отсутствует.
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 Логическое Указывает, следует ли выдавать ошибку, если одно из утверждений отсутствует.
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 long Утверждение, созданное после вызова преобразования утверждений (значение элемента указано во входных параметрах 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 value строка Значение первого элемента в 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"
  }
}

Дальнейшие действия