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


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

Это важно

Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".

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

CreateJsonArray (Создай JsonArray)

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

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

Пример CreatJsonArray

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

<ClaimsTransformation Id="CreateJsonPayload" 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, куда вставляется значение утверждения.
ПараметрВвода Любая строка, следующая за точечной нотацией строка 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 "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 (GetClaimFromJson)

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

Элемент TransformationClaimType (Тип утверждения) Тип данных Примечания.
InputClaim (Утверждение входа) inputJson строка Утверждения, используемые в преобразовании утверждений для получения элемента.
ПараметрВвода 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": "Кто-то"}
  • Входной параметр:
    • claimToExtract: emailAddress.
  • Выходные утверждения:
    • extractedClaim: someone@example.com.

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

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

<ClaimsTransformation Id="GetDisplayNameClaimFromJson" TransformationMethod="GetClaimFromJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="customUserData" TransformationClaimType="inputJson" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="claimToExtract" DataType="string" Value="displayName" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="displayName" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Входные утверждения:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Кто-то"}
  • Входной параметр:
    • claimToExtract: displayName
  • Выходные утверждения:
    • extractedClaim: Кто-то

GetClaimsFromJsonArray (Массив GetClaimsFromJson)

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

Элемент TransformationClaimType (Тип утверждения) Тип данных Примечания.
InputClaim (Утверждение входа) jsonSourceClaim строка Утверждение с полезной нагрузкой JSON. Это утверждение используется в преобразовании утверждений для получения утверждений.
ПараметрВвода errorOnMissingClaims булевый Указывает, следует ли выдавать ошибку, если одно из утверждений отсутствует.
ПараметрВвода includeEmptyClaims строка Указывает, следует ли включать пустые утверждения.
ПараметрВвода jsonИмяКлюча источника строка Имя ключа элемента
ПараметрВвода 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".
    • membership ID: 6353399
    • active: true.
    • дата рождения: 2005-09-23T00:00:00Z

GetClaimsFromJsonArrayV2

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

Элемент TransformationClaimType (Тип утверждения) Тип данных Примечания.
InputClaim (Утверждение входа) jsonSourceClaim Коллекция строк Утверждение коллекции строк с полезными данными JSON. Это утверждение используется в преобразовании утверждений для получения утверждений.
ПараметрВвода errorOnMissingClaims булевый Указывает, следует ли выдавать ошибку, если одно из утверждений отсутствует.
ПараметрВвода includeEmptyClaims строка Указывает, следует ли включать пустые утверждения.
ПараметрВвода jsonИмяКлюча источника строка Имя ключа элемента
ПараметрВвода 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".
    • membership ID: 6353399
    • active: true.
    • дата рождения: 2005-09-23T00:00:00Z

GetNumericClaimFromJson (GetNumericClaimFromJson)

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

Элемент TransformationClaimType (Тип утверждения) Тип данных Примечания.
InputClaim (Утверждение входа) inputJson строка Утверждение с полезной нагрузкой JSON. Это утверждение используется в преобразовании утверждений для получения числовых утверждений.
ПараметрВвода 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 (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;
    • значение: Эмили

GetSingleValueFromJsonArray (Массив GetSingleValueFromJson)

Возвращает первый элемент из массива данных 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 (XmlStringToJsonString)

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

Элемент TransformationClaimType (Тип утверждения) Тип данных Примечания.
InputClaim (Утверждение входа) XML строка Утверждение с использованием полезных данных XML. Это утверждение используется в преобразовании утверждений для преобразования данных из языка XML в формат JSON.
outputClaim JSON (формат обмена данными JavaScript) строка Утверждение, которое создается после вызова преобразования утверждений (данные в формате JSON).
<ClaimsTransformation Id="ConvertXmlToJson" TransformationMethod="XmlStringToJsonString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="inputXML" 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"
  }
}

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