UiPath Documentation
activities
latest
false
Atividades do desenvolvedor
Importante :
A tradução automática foi aplicada parcialmente neste conteúdo. A localização de um conteúdo recém-publicado pode levar de 1 a 2 semanas para ficar disponível.

Deserialize JSON

UiPath.WebAPI.Activities.DeserializeJson

Description

Desserializa a string JSON ou a amostra para um objeto JSON. Por padrão, o resultado é um JObject, mas você pode escolher um tipo de saída diferente usando a propriedade Tipo de saída .

Compatibilidade do projeto

Windows - Legada | Windows | Multiplataforma

Pré-requisitos

Para configurar a propriedade Serializador usando o mapeamento de dados, use o Studio 25.10 ou posterior. Em versões anteriores do Studio, essa propriedade usa a janela do Editor de Expressão .

Windows, configuração multiplataforma

  • JSON String - The string containing the JSON to be deserialized. The JSON should be written without indents, and between double quotes. Strings inside the JSON should be written with single quotes. For example, the following JSON is valid: "{'TenancyName': 'Documentation', 'UsernameOrEmail': 'Documentation', 'Password': 'Documentation'}".
  • Amostra de JSON - Uma amostra do JSON usado para gerar as propriedades do objeto de saída. A amostra deve estar no formato JSON. A atividade converte esse exemplo em um objeto semelhante que você pode usar durante o período de design.

Opções avançadas

Entrada
  • Configurações do serializador - Configurações do desserializador personalizado a serem usadas ao desserializar a string JSON. Use essa propriedade quando você quiser controlar totalmente como a string JSON é desserializada.
  • Tipo de saída - Uma lista suspensa que permite escolher o tipo de argumento do objeto para desserializar.
    Observação:

    No Studio Web, a geração da estrutura de saída a partir da propriedade Amostra JSON torna a propriedade Tipo de saída somente leitura.

Saída
  • Objeto JSON - O JSON desserializado, retornado como um objeto do tipo selecionado na propriedade Tipo de saída . Quando o tipo padrão é usado, o resultado é uma variável Newtonsoft.Json.Linq.JObject . Leia mais informações sobre Newtonsoft.Json.Linq.JObject objetos.

Exemplo de uso da amostra JSON

A propriedade Amostra do JSON gera a estrutura do objeto de saída no tempo de design a partir de um fragmento do JSON representativo. Após fornecer uma amostra, a atividade infere um tipo de correspondência e o atribui à propriedade Tipo de saída , para que você possa fazer referência aos valores desserializados por nome em atividades downstream em vez de consultá-los com SelectToken.

Observação:

A propriedade Amostra do JSON é um auxiliar em tempo de design. Ela está disponível no Studio Web e em versões do Studio que são compatíveis com inferência de tipo personalizada. Quando esses recursos não estão disponíveis, a propriedade é oculta.

Para exemplificar como usar a Amostra JSON, extraímos o nome de uma pessoa e a cidade de uma string JSON:

  1. Adicione uma atividade Deserialize JSON ao seu fluxo de trabalho.

  2. No campo String JSON , insira o JSON para desserializar. Por exemplo: "{'name': 'John Doe', 'age': 30, 'address': {'city': 'New York'}}".

  3. No campo Amostra JSON , cole uma amostra representativa com a mesma estrutura:

    {
      "name": "John Doe",
      "age": 30,
      "address": {
        "city": "New York"
      }
    }
    {
      "name": "John Doe",
      "age": 30,
      "address": {
        "city": "New York"
      }
    }
    

    A atividade lê a amostra e gera um objeto de saída que espelha essa estrutura. A propriedade Tipo de saída é atualizada para o tipo gerado.

  4. Em uma atividade subsequente, faça referência aos valores desserializados diretamente por meio dos nomes de propriedades definidos em seu exemplo, por exemplo JsonObject.name e JsonObject.address.city, em vez de usar JsonObject.SelectToken("name").

Resultado

O objeto de saída expõe as propriedades do seu exemplo, então JsonObject.name retorna John Doe e JsonObject.address.city retorna New York sem consultar o JSON com SelectToken.

Exemplo de uso de configurações do Serializador

Quando nenhum mapeamento de dados estiver disponível para a propriedade Configurações do serializador , configure-o no Editor de expressões usando um dos seguintes fragmentos de código. Para obter mais informações, consulte a documentação do Newtonsoft.

VB.NET

New JsonDeserializationSettings With {
.MissingMemberHandling = JsonMissingMemberHandling.Ignore,
.NullValueHandling = JsonNullValueHandling.Ignore,
.DateParseHandling = JsonDateParseHandling.DateTime,
.DateTimeZoneHandling = JsonDateTimeZoneHandling.Utc,
.FloatParseHandling = JsonFloatParseHandling.Double
}
New JsonDeserializationSettings With {
.MissingMemberHandling = JsonMissingMemberHandling.Ignore,
.NullValueHandling = JsonNullValueHandling.Ignore,
.DateParseHandling = JsonDateParseHandling.DateTime,
.DateTimeZoneHandling = JsonDateTimeZoneHandling.Utc,
.FloatParseHandling = JsonFloatParseHandling.Double
}

C#

new JsonDeserializationSettings
{
MissingMemberHandling = JsonMissingMemberHandling.Ignore,
NullValueHandling = JsonNullValueHandling.Ignore,
DateParseHandling = JsonDateParseHandling.DateTime,
DateTimeZoneHandling = JsonDateTimeZoneHandling.Utc,
FloatParseHandling = JsonFloatParseHandling.Double
}
new JsonDeserializationSettings
{
MissingMemberHandling = JsonMissingMemberHandling.Ignore,
NullValueHandling = JsonNullValueHandling.Ignore,
DateParseHandling = JsonDateParseHandling.DateTime,
DateTimeZoneHandling = JsonDateTimeZoneHandling.Utc,
FloatParseHandling = JsonFloatParseHandling.Double
}

Windows - Configuração legada

Painel de Propriedades

Comum
  • DisplayName - O nome de exibição da atividade.
Entrada
  • Amostra de JSON - A amostra de JSON para a estrutura de saída. A atividade converte esse exemplo em um objeto semelhante que você pode usar durante o período de design.
  • StringJSON — String que contém o JSON Para ser desserializado. Escreva o JSON sem recuos e entre aspas duplas. Strings dentro do JSON devem ser escritas com aspas simples. Por exemplo, o seguinte JSON é válido: "{'TenancyName': 'Documentation', 'UsernameOrEmail': 'Documentation', 'Password': 'Documentation'}".
Diversos
  • Privado - Se selecionado, os valores de variáveis e argumentos não são mais registrados no nível Verbose.
  • ArgumentoDeTipo — uma lista suspensa que permite selecionar o tipo de saída retornada. A string JSON fornecida será convertida em um objeto do tipo selecionado.
Saída

Exemplo de uso da atividade Deserialize Json

A atividade Deserialize Json é usada para extrair dados de arquivos e strings JSON.

Para exemplificar como usar esta atividade, criamos um exemplo que usa a atividade Deserialize Json para extrair a idade de uma pessoa de um arquivo JSON.

É assim que um processo de automação pode ser construído:

  1. Abra o Studio e crie um Processo.
  2. Drag a Sequence to the Workflow Designer.
    • Crie as seguintes variáveis:

      Nome da variávelTipo de VariávelValor Padrão
      JsonTextString
      JsonObjJObject
      AgeGenericValue
  3. Drag a Read Text File activity inside the sequence container.
    • In the Properties panel, add the value "JsonString.txt" in the FileName field.
    • Add the variable JsonText in the Content field.
  4. Adicione uma atividade Deserialize JSON após a atividade Read Text File.
    • In the Properties panel, add the variable JsonText in the JsonString field and the variable JsonObj in the JsonObject field.
    • Select the value Newtonsoft.Json.Linq.JObject from the TypeArgument drop-down list.
  5. Place an Assign activity under the Deserialize JSON activity.
    • Add the variable Age in the To field and the expression JsonObj.SelectToken("age").ToString in the Value field.
  6. Arraste uma atividade Write Line após a atividade Assign.
    • Adicione a variável Age no campo Texto.
  7. Run the process. The robot extracts the age value from the .json file and displays it in the Output panel.

Aqui você pode baixar um exemplo.

Esta página foi útil?

Conectar

Precisa de ajuda? Suporte

Quer aprender? Academia UiPath

Tem perguntas? Fórum do UiPath

Fique por dentro das novidades