Compartilhar via


Transformações de declarações JSON

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

CreateJsonArray

Crie uma matriz de elemento único JSON a partir de um valor de declaração. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim InputClaim string A declaração a ser adicionada à declaração de saída.
OutputClaim outputClaim string A cadeia de caracteres JSON que é produzida depois de invocar essa transformação de declarações.

Exemplo de CreateJsonArray

O exemplo a seguir cria uma única matriz JSON.

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

GenerateJson

Use valores de declaração ou constantes para gerar uma cadeia de caracteres JSON. A cadeia de caracteres de caminho após a notação de ponto é usada para indicar onde inserir os dados em uma cadeia de caracteres JSON. Após a divisão por pontos, todos os inteiros são interpretados como o índice de uma matriz JSON e os não inteiros são interpretados como o índice de um objeto JSON.

Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim Qualquer cadeia de caracteres seguindo a notação de ponto string O JsonPath do JSON em que o valor da declaração será inserido.
InputParameter Qualquer cadeia de caracteres seguindo a notação de ponto string O JsonPath do JSON onde o valor da cadeia de caracteres constante será inserido.
OutputClaim outputClaim string A cadeia de caracteres JSON gerada.

Matrizes JSON

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

O exemplo a seguir demonstra como configurar matrizes JSON. A matriz de emails usa os InputClaims com valores dinâmicos. A matriz de valores usa os InputParameters 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 dessa transformação de declaraçõ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 declarações de entrada e nos parâmetros de entrada, você deve iniciar a matriz no elemento InputClaims, de zero a N. Em seguida, no elemento InputParameters, continue o índice a partir do último índice.

O exemplo a seguir demonstra uma matriz definida nas declarações de entrada e nos parâmetros de entrada. O primeiro item da matriz de valoresvalues.0 é definido nas declarações de entrada. Os parâmetros de entrada continuam do índice de 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 a seguir gera uma cadeia de caracteres JSON com base no valor de declaração de "email" e "OTP", bem como cadeias de caracteres 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 seguinte transformação de declarações gera uma declaração de cadeia de caracteres JSON que será o corpo da solicitação enviada ao SendGrid (um provedor de email terceirizado). A estrutura do objeto JSON é definida pelas IDs na notação de ponto de InputParameters e TransformationClaimTypes do InputClaims. Os números na notação de ponto implicam matrizes. Os valores são provenientes dos valores de InputClaims e das propriedades de "valor" de InputParameters.

  • Declarações de entrada:
    • email, transformation claim type personalizations.0.to.0.email: "someone@example.com"
    • copiedEmail, tipo de declaração de transformação personalizations.0.dynamic_template_data.verify-email: "someone@example.com"
    • otp, tipo de declaraçã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 email da conta da Contoso"
  • Declaraçã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 a seguir gera uma cadeia de caracteres JSON com base nos valores de declaração, bem como em cadeias de caracteres 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 seguinte transformação de declarações gera uma declaração de cadeia de caracteres JSON que será o corpo da solicitação enviada a uma API REST. A estrutura do objeto JSON é definida pelas IDs na notação de ponto de InputParameters e TransformationClaimTypes do InputClaims. Os valores são provenientes dos valores de InputClaims e das propriedades de "valor" de InputParameters.

  • Declarações de entrada:
    • email, tipo de declaração de transformação customerEntity.email: "john.s@contoso.com"
    • objectId, tipo de declaração de transformação customerEntity.userObjectId "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb"
    • givenName, tipo de declaração de transformação customerEntity.firstName "João"
    • surname, tipo de declaração de transformação customerEntity.lastName "Carlos"
  • Parâmetro de entrada:
    • customerEntity.role.name: "Administrador"
    • customerEntity.role.id 1
  • Declaração de saída:
    • requestBody:

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

A transformação de declarações GenerateJson aceita strings simples. Se uma declaração de entrada contiver uma cadeia de caracteres JSON, essa cadeia de caracteres será escapada. No exemplo a seguir, se você usar a saída de e-mail de CreateJsonArray acima, que é ["someone@contoso.com"], como um parâmetro de entrada, o e-mail terá a aparência mostrada na seguinte declaração JSON:

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

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

GetClaimFromJson

Obter um elemento especificado de dados JSON. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim inputJson string As declarações que são usadas pela transformação de declarações para obter o item.
InputParameter claimToExtract string o nome do elemento JSON a ser extraído.
OutputClaim extractedClaim string A declaração que é produzida após a invocação dessa transformação de declarações, o valor do elemento especificado no parâmetro de entrada claimToExtract.

Exemplo de GetClaimFromJson

No exemplo a seguir, a transformação de declarações extraiu o elemento emailAddress 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>
  • Declarações de entrada:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
  • Parâmetro de entrada:
    • claimToExtract: emailAddress
  • Declarações de saída:
    • extractedClaim: someone@example.com

Outro exemplo de GetClaimFromJson

A transformação de declarações GetClaimFromJson obtém um único elemento de dados JSON. No exemplo anterior, o emailAddress. Para obter o displayName, crie outra transformação de declaraçõ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>
  • Declarações de entrada:
    • inputJson: {"emailAddress": "someone@example.com", "displayName": "Someone"}
  • Parâmetro de entrada:
    • claimToExtract: displayName
  • Declarações de saída:
    • extractedClaim: Não identificado

GetClaimsFromJsonArray

Obter uma lista de elementos especificados de dados JSON. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim jsonSourceClaim string A declaração com o payload JSON. A declaração usada pela transformação de declarações para obter as declarações.
InputParameter errorOnMissingClaims booleano Especifica se um erro deverá ser gerado se uma das declarações estiver ausente.
InputParameter includeEmptyClaims string Especifica se você deseja incluir declarações vazias.
InputParameter jsonSourceKeyName string Nome da chave do elemento
InputParameter jsonSourceValueName string Nome do valor do elemento
OutputClaim Coleção string, int, boolean e datetime Lista de declarações a serem extraídas. O nome da declaração deve ser igual ao especificado na declaração de entrada jsonSourceClaim.

Exemplo de GetClaimsFromJsonArray

No exemplo a seguir, a transformação de declarações extrai as declarações a seguir: email (string), displayName (string), membershipNum (int), active (boolean) 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>
  • Declaraçõ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: key
    • jsonSourceValueName: value
  • Declarações de saída:

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

GetClaimsFromJsonArrayV2

Obtenha uma lista de elementos especificados de uma coleção de cadeias de caracteres dos elementos JSON. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim jsonSourceClaim stringCollection A declaração de coleção de cadeias de caracteres com os conteúdos JSON. A declaração usada pela transformação de declarações para obter as declarações.
InputParameter errorOnMissingClaims booleano Especifica se um erro deverá ser gerado se uma das declarações estiver ausente.
InputParameter includeEmptyClaims string Especifica se você deseja incluir declarações vazias.
InputParameter jsonSourceKeyName string Nome da chave do elemento
InputParameter jsonSourceValueName string Nome do valor do elemento
OutputClaim Coleção string, int, boolean e datetime Lista de declarações a serem extraídas. O nome da declaração deve ser igual ao especificado na declaração de entrada jsonSourceClaim.

Example of GetClaimsFromJsonArrayV2

No exemplo a seguir, a transformação de declarações extrai as declarações a seguir: email (string), displayName (string), 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>
  • Declarações de entrada:

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

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

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

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

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

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

    • errorOnMissingClaims: false
    • includeEmptyClaims: false
    • jsonSourceKeyName: key
    • jsonSourceValueName: value
  • Declarações de saída:

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

GetNumericClaimFromJson

Obtém um elemento (longo) numérico especificado dos dados JSON. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim inputJson string A declaração com o payload JSON. A declaração usada pela transformação de declarações para obter a declaração numérica.
InputParameter claimToExtract string O nome do elemento JSON a ser extraído.
OutputClaim extractedClaim long A declaração que é produzida após a invocação dessa transformação de declarações, o valor do elemento especificado nos parâmetros de entrada claimToExtract.

Exemplo de GetNumericClaimFromJson

No exemplo a seguir, a transformação de declarações extrai o elemento id 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>
  • Declarações de entrada:

    • inputJson:

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

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

    • extractedClaim: 6353399

GetSingleItemFromJson

Obtém o primeiro elemento de dados JSON. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim inputJson string A declaração com o payload JSON. Essa declaração é usada pela transformação de declarações para obter o item dos dados JSON.
OutputClaim chave string A primeira chave de elemento no JSON.
OutputClaim value string O primeiro valor de elemento no JSON.

Exemplo de GetSingleItemFromJson

No exemplo a seguir, a transformação de declarações extrai o primeiro elemento (nome fornecido) 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>
  • Declarações de entrada:

    • inputJson:

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

    • key: givenName
    • value: Emilty

GetSingleValueFromJsonArray

Obtém o primeiro elemento de uma matriz de dados JSON. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim inputJsonClaim string A declaração com o payload JSON. Essa declaração é usada pela transformação de declarações para obter o valor da matriz JSON.
OutputClaim extractedClaim string A declaração que é produzida após a invocação dessa transformação de declarações, o primeiro elemento na matriz JSON.

Exemplo de GetSingleValueFromJsonArray

No exemplo a seguir, a transformação de declarações extrai o primeiro elemento (endereço de email) da matriz 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>
  • Declarações de entrada:
    • inputJsonClaim: ["someone@example.com", "Someone", 6353399]
  • Declarações de saída:
    • extractedClaim: someone@example.com

XmlStringToJsonString

Converte dados XML no formato JSON. Confira a Demonstração ao vivo desta transformação de declarações.

Elemento TransformationClaimType Tipo de Dados Observações
InputClaim Xml string A declaração com o conteúdo XML. Essa declaração usada pela transformação de declarações para converter os dados do formato XML para JSON.
OutputClaim json string A declaração que é produzida após a invocação dessa declaração, 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>

Example of XmlStringToJsonString

No exemplo a seguir, a transformação de declarações converte os dados XML a seguir no formato JSON.

Declaração de entrada:

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

Declaração de saída:

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

Próximas etapas