Share via


Transformações de afirmações JSON

Este artigo fornece exemplos para utilizar as transformações de afirmações JSON do esquema do Identity Experience Framework no Azure Active Directory B2C (Azure AD B2C). Para obter mais informações, veja transformações de afirmações.

CreateJsonArray

Crie uma matriz de elemento único JSON a partir de um valor de afirmação. Veja a demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim inputClaim string A afirmação a adicionar à afirmação de saída.
OutputClaim outputClaim string A cadeia JSON produzida após esta transformação de afirmações ter sido invocada.

Exemplo de CreateJsonArray

O exemplo seguinte cria uma matriz única JSON.

<ClaimsTransformation Id="createlJsonPayload" TransformationMethod="CreateJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="email" TransformationClaimType="inputClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="result" TransformationClaimType="outputClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Afirmações de entrada:
    • inputClaim: someone@example.com
  • Afirmações de saída:
    • outputClaim: ["someone@contoso.com"]

GenerateJson

Utilize valores de afirmação ou constantes para gerar uma cadeia JSON. A cadeia de caminho que segue a notação de pontos é utilizada para indicar onde inserir os dados numa cadeia JSON. Depois de dividir por pontos, todos os números inteiros são interpretados como o índice de uma matriz JSON e os números não inteiros são interpretados como o índice de um objeto JSON.

Veja a demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim Qualquer cadeia que siga a notação de pontos string O JsonPath do JSON no qual o valor da afirmação será inserido.
InputParameter Qualquer cadeia que siga a notação de pontos string O JsonPath do JSON no qual o valor da cadeia de carateres constante será inserido.
OutputClaim outputClaim string A cadeia JSON gerada.

Matrizes JSON

Para adicionar objetos JSON a uma matriz JSON, utilize o formato do nome da matriz e o índice na matriz. A matriz é baseada em zero. Comece com zero a N, sem ignorar qualquer número. Os itens na matriz podem conter qualquer objeto. Por exemplo, o primeiro item contém dois objetos, aplicação e appId. O segundo item contém um único objeto, programa. O terceiro item contém quatro objetos, cor, idioma, logótipo e fundo.

O exemplo seguinte demonstra como configurar matrizes JSON. A matriz de e-mails utiliza os InputClaims valores com valores dinâmicos. A matriz de valores utiliza os InputParameters valores com valores estáticos.

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

O resultado desta transformação de afirmações:

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

Para especificar uma matriz JSON nas afirmações de entrada e nos parâmetros de entrada, tem de iniciar a matriz no InputClaims elemento, zero a N. Em seguida, no InputParameters elemento continue o índice a partir do último índice.

O exemplo seguinte demonstra uma matriz definida nas afirmações de entrada e nos parâmetros de entrada. O primeiro item da matriz values.0 de valores é definido nas afirmações de entrada. Os parâmetros de entrada continuam do índice um values.1 a dois índices 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>

Exemplo de GenerateJson

O exemplo seguinte gera uma cadeia JSON com base no valor de afirmação de "e-mail" e "OTP" e cadeias constantes.

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

A transformação de afirmações seguinte produz uma afirmação de cadeia JSON que será o corpo do pedido enviado para o SendGrid (um fornecedor de e-mail de terceiros). A estrutura do objeto JSON é definida pelos IDs na notação de pontos dos InputParameters e transformationClaimTypes dos InputClaims. Os números na notação de pontos implicam matrizes. Os valores provêm dos valores inputClaims e das propriedades "Value" dos InputParameters.

  • Afirmações de entrada:
    • e-mail, tipo de afirmação de transformação personalizations.0.to.0.email: "someone@example.com"
    • copiedEmail, tipo de afirmação de transformação personalizations.0.dynamic_template_data.check-email: "someone@example.com"
    • otp, tipo de afirmação de transformação personalizations.0.dynamic_template_data.otp "346349"
  • Parâmetro de entrada:
    • template_id: "d-4c56ffb40fa648b1aa6822283df94f60"
    • from.email: "service@contoso.com"
    • personalizations.0.subject "Código de verificação de e-mail da conta Contoso"
  • Afirmação de saída:
    • 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"
        }
      }
      

Outro exemplo de GenerateJson

O exemplo seguinte gera uma cadeia JSON com base nos valores de afirmação e nas cadeias constantes.

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

A transformação de afirmações seguinte produz uma afirmação de cadeia JSON que será o corpo do pedido enviado para uma API REST. A estrutura do objeto JSON é definida pelos IDs na notação de pontos dos InputParameters e transformationClaimTypes dos InputClaims. Os valores provêm dos valores inputClaims e das propriedades "Value" dos InputParameters.

  • Afirmações de entrada:
    • e-mail, tipo de afirmação de transformação customerEntity.email: "john.s@contoso.com"
    • objectId, tipo de afirmação de transformação customerEntity.userObjectId "01234567-89ab-cdef-0123-456789abcdef"
    • givenName, tipo de afirmação de transformação customerEntity.firstName "John"
    • apelido, tipo de afirmação de transformação customerEntity.lastName "Smith"
  • Parâmetro de entrada:
    • customerEntity.role.name: "Administrador"
    • customerEntity.role.id 1
  • Afirmação de saída:
    • requestBody:

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

A transformação de afirmações GenerateJson aceita cadeias simples. Se uma afirmação de entrada contiver uma cadeia JSON, essa cadeia será escapada. No exemplo seguinte, se utilizar a saída de e-mail de CreateJsonArray acima, ou seja, ["someone@contoso.com"], como parâmetro de entrada, o e-mail terá o seguinte aspeto na seguinte afirmação JSON:

  • Afirmação de saída:
    • requestBody:

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

GetClaimFromJson

Obtenha um elemento especificado a partir de dados JSON. Veja a demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim inputJson string As afirmações que são utilizadas pela transformação de afirmações para obter o item.
InputParameter claimToExtract string o nome do elemento JSON a extrair.
OutputClaim extractedClaim string A afirmação produzida após a invocação desta transformação de afirmações, o valor do elemento especificado no parâmetro de entrada claimToExtract .

Exemplo de GetClaimFromJson

No exemplo seguinte, a transformação de afirmações extraiu o emailAddress elemento dos dados 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>
  • Afirmações de entrada:
    • inputJson: {"emailAddress": "", "someone@example.comdisplayName": "Alguem"}
  • Parâmetro de entrada:
    • claimToExtract: emailAddress
  • Afirmações de saída:
    • extractedClaim: someone@example.com

Outro exemplo de GetClaimFromJson

A transformação de afirmações GetClaimFromJson obtém um único elemento a partir de dados JSON. No exemplo anterior, o emailAddress. Para obter o displayName, crie outra transformação de afirmações. Por exemplo:

<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>
  • Afirmações de entrada:
    • inputJson: {"emailAddress": "", "someone@example.comdisplayName": "Alguem"}
  • Parâmetro de entrada:
    • claimToExtract: displayName
  • Afirmações de saída:
    • extractedClaim: Alguem

GetClaimsFromJsonArray

Obtenha uma lista de elementos especificados a partir de dados Json. Veja a demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim jsonSourceClaim string A afirmação com o payload JSON. Esta afirmação é utilizada pela transformação de afirmações para obter as afirmações.
InputParameter errorOnMissingClaims boolean Especifica se deve gerar um erro se uma das afirmações estiver em falta.
InputParameter includeEmptyClaims string Especifique se pretende incluir afirmações vazias.
InputParameter jsonSourceKeyName string Nome da chave do elemento
InputParameter jsonSourceValueName string Nome do valor do elemento
OutputClaim Coleção cadeia, int, booleano e datetime Lista de afirmações a extrair. O nome da afirmação deve ser igual ao especificado na afirmação de entrada jsonSourceClaim .

Exemplo de GetClaimsFromJsonArray

No exemplo seguinte, a transformação de afirmações extrai as seguintes afirmações: e-mail (cadeia), displayName (cadeia), membershipNum (int), active (booleano) e birthDate (datetime) dos dados JSON.

<ClaimsTransformation Id="GetClaimsFromJson" TransformationMethod="GetClaimsFromJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="jsonSourceClaim" TransformationClaimType="jsonSource" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="errorOnMissingClaims" DataType="boolean" Value="false" />
    <InputParameter Id="includeEmptyClaims" DataType="boolean" Value="false" />
    <InputParameter Id="jsonSourceKeyName" DataType="string" Value="key" />
    <InputParameter Id="jsonSourceValueName" DataType="string" Value="value" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" />
    <OutputClaim ClaimTypeReferenceId="displayName" />
    <OutputClaim ClaimTypeReferenceId="membershipID" />
    <OutputClaim ClaimTypeReferenceId="active" />
    <OutputClaim ClaimTypeReferenceId="birthDate" />
  </OutputClaims>
</ClaimsTransformation>
  • Afirmações de entrada:

    • 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"
        }
      ]
      
  • Parâmetros de entrada:

    • errorOnMissingClaims: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: chave
    • jsonSourceValueName: valor
  • Afirmações de saída:

    • e-mail: "someone@example.com"
    • displayName: "Alguem"
    • membershipID: 6353399
    • ativo: verdadeiro
    • data de nascimento: 2005-09-23T00:00:00Z

GetClaimsFromJsonArrayV2

Obtenha uma lista de elementos especificados a partir de elementos JSON de uma coleção de cadeias. Veja a demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim jsonSourceClaim stringCollection A afirmação de coleção de cadeias com os payloads JSON. Esta afirmação é utilizada pela transformação de afirmações para obter as afirmações.
InputParameter errorOnMissingClaims boolean Especifica se deve gerar um erro se uma das afirmações estiver em falta.
InputParameter includeEmptyClaims string Especifique se pretende incluir afirmações vazias.
InputParameter jsonSourceKeyName string Nome da chave do elemento
InputParameter jsonSourceValueName string Nome do valor do elemento
OutputClaim Coleção cadeia, int, booleano e datetime Lista de afirmações a extrair. O nome da afirmação deve ser igual ao especificado na afirmação de entrada jsonSourceClaim .

Exemplo de GetClaimsFromJsonArrayV2

No exemplo seguinte, a transformação de afirmações extrai as seguintes afirmações: e-mail (cadeia), displayName (cadeia), membershipNum (int), active (boolean) e birthDate (datetime) dos dados JSON.

<ClaimsTransformation Id="GetClaimsFromJson" TransformationMethod="GetClaimsFromJsonArrayV2">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="jsonSourceClaim" TransformationClaimType="jsonSource" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="errorOnMissingClaims" DataType="boolean" Value="false" />
    <InputParameter Id="includeEmptyClaims" DataType="boolean" Value="false" />
    <InputParameter Id="jsonSourceKeyName" DataType="string" Value="key" />
    <InputParameter Id="jsonSourceValueName" DataType="string" Value="value" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" />
    <OutputClaim ClaimTypeReferenceId="displayName" />
    <OutputClaim ClaimTypeReferenceId="membershipID" />
    <OutputClaim ClaimTypeReferenceId="active" />
    <OutputClaim ClaimTypeReferenceId="birthDate" />
  </OutputClaims>
</ClaimsTransformation>
  • Afirmações de entrada:

    • jsonSourceClaim[0] (elemento inicial da coleção de cadeias):

        {
          "key": "email",
          "value": "someone@example.com"
        }
      
    • jsonSourceClaim[1] (segundo elemento da coleção de cadeias):

        {
          "key": "displayName",
          "value": "Someone"
        }
      
    • jsonSourceClaim[2] (terceiro elemento da coleção de cadeias):

        {
          "key": "membershipID",
          "value": 6353399
        }
      
    • jsonSourceClaim[3] (quarto elemento da coleção de cadeias):

        {
          "key": "active",
          "value": true
        }
      
    • jsonSourceClaim[4] (elemento quinto da coleção de cadeias):

        {
          "key": "birthDate",
          "value": "2005-09-23T00:00:00Z"
        }
      
  • Parâmetros de entrada:

    • errorOnMissingClaims: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: chave
    • jsonSourceValueName: valor
  • Afirmações de saída:

    • e-mail: "someone@example.com"
    • displayName: "Alguem"
    • membershipID: 6353399
    • ativo: verdadeiro
    • data de nascimento: 2005-09-23T00:00:00Z

GetNumericClaimFromJson

Obtém um elemento numérico (longo) especificado a partir de dados JSON. Veja a Demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim inputJson string A afirmação com o payload JSON. Esta afirmação é utilizada pela transformação de afirmações para obter a afirmação numérica.
InputParameter claimToExtract string O nome do elemento JSON a extrair.
OutputClaim extractedClaim long A afirmação produzida após esta transformação de afirmações ter sido invocada, o valor do elemento especificado nos parâmetros de entrada claimToExtract .

Exemplo de GetNumericClaimFromJson

No exemplo seguinte, a transformação de afirmações extrai o id elemento dos dados JSON.

<ClaimsTransformation Id="GetIdFromResponse" TransformationMethod="GetNumericClaimFromJson">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="exampleInputClaim" TransformationClaimType="inputJson" />
  </InputClaims>
  <InputParameters>
    <InputParameter Id="claimToExtract" DataType="string" Value="id" />
  </InputParameters>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="membershipId" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Afirmações de entrada:

    • inputJson:

      {
        "emailAddress": "someone@example.com",
        "displayName": "Someone",
        "id": 6353399
      }
      
  • Parâmetros de entrada

    • claimToExtract: id
  • Afirmações de saída:

    • extractedClaim: 6353399

GetSingleItemFromJson

Obtém o primeiro elemento a partir de dados JSON. Veja a Demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim inputJson string A afirmação com o payload JSON. Esta afirmação é utilizada pela transformação de afirmações para obter o item a partir dos dados JSON.
OutputClaim key string A primeira chave do elemento no JSON.
OutputClaim valor cadeia (de carateres) O primeiro valor do elemento no JSON.

Exemplo de GetSingleItemFromJson

No exemplo seguinte, a transformação de afirmações extrai o primeiro elemento (nome dado) dos dados 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>
  • Afirmações de entrada:

    • inputJson:

      {
        "givenName": "Emily",
        "lastName": "Smith"
      }
      
  • Afirmações de saída:

    • chave: givenName
    • valor: Emilty

GetSingleValueFromJsonArray

Obtém o primeiro elemento de uma matriz de dados JSON. Veja a Demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim inputJsonClaim string A afirmação com o payload JSON. Esta afirmação é utilizada pela transformação de afirmações para obter o valor da matriz JSON.
OutputClaim extractedClaim string A afirmação que é produzida após esta transformação de afirmações ter sido invocada, o primeiro elemento na matriz JSON.

Exemplo de GetSingleValueFromJsonArray

No exemplo seguinte, a transformação de afirmações extrai o primeiro elemento (endereço de e-mail) da matriz ["someone@example.com", "Someone", 6353399]JSON .

<ClaimsTransformation Id="GetEmailFromJson" TransformationMethod="GetSingleValueFromJsonArray">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="userData" TransformationClaimType="inputJsonClaim" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="email" TransformationClaimType="extractedClaim" />
  </OutputClaims>
</ClaimsTransformation>
  • Afirmações de entrada:
    • inputJsonClaim: ["someone@example.com", "Alguem", 6353399]
  • Afirmações de saída:
    • extractedClaim: someone@example.com

XmlStringToJsonString

Converter dados XML em formato JSON. Veja a Demonstração em direto desta transformação de afirmações.

Elemento TransformationClaimType Tipo de Dados Notas
InputClaim xml string A afirmação com o payload XML. Esta afirmação é utilizada pela transformação de afirmações para converter os dados do formato XML para JSON.
OutputClaim json string A afirmação que é produzida após esta transformação de afirmações ter sido invocada, os dados no formato JSON.
<ClaimsTransformation Id="ConvertXmlToJson" TransformationMethod="XmlStringToJsonString">
  <InputClaims>
    <InputClaim ClaimTypeReferenceId="intpuXML" TransformationClaimType="xml" />
  </InputClaims>
  <OutputClaims>
    <OutputClaim ClaimTypeReferenceId="outputJson" TransformationClaimType="json" />
  </OutputClaims>
</ClaimsTransformation>

Exemplo de XmlStringToJsonString

No exemplo seguinte, a transformação de afirmações converte os seguintes dados XML em formato JSON.

Afirmação de entrada:

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

Afirmação de saída:

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

Passos seguintes