- Visão geral
- Criptografia
- Banco de Dados
- Java
- Python
- WebAPI
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 sobreNewtonsoft.Json.Linq.JObjectobjetos.
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.
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:
-
Adicione uma atividade Deserialize JSON ao seu fluxo de trabalho.
-
No campo String JSON , insira o JSON para desserializar. Por exemplo:
"{'name': 'John Doe', 'age': 30, 'address': {'city': 'New York'}}". -
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.
-
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.nameeJsonObject.address.city, em vez de usarJsonObject.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
- ObjetoJSON — O JSON desserializado, como uma variável
Newtonsoft.Json.Linq.JObject. Leia mais informações sobreNewtonsoft.Json.Linq.JObjectobjetos.
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:
- Abra o Studio e crie um Processo.
- Drag a Sequence to the Workflow Designer.
-
Crie as seguintes variáveis:
Nome da variável Tipo de Variável Valor Padrão JsonTextString JsonObjJObject AgeGenericValue
-
- 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
JsonTextin the Content field.
- In the Properties panel, add the value
- Adicione uma atividade Deserialize JSON após a atividade Read Text File.
- In the Properties panel, add the variable
JsonTextin the JsonString field and the variableJsonObjin the JsonObject field. - Select the value
Newtonsoft.Json.Linq.JObjectfrom the TypeArgument drop-down list.
- In the Properties panel, add the variable
- Place an Assign activity under the Deserialize JSON activity.
- Add the variable
Agein the To field and the expressionJsonObj.SelectToken("age").ToStringin the Value field.
- Add the variable
- Arraste uma atividade Write Line após a atividade Assign.
- Adicione a variável
Ageno campo Texto.
- Adicione a variável
- Run the process. The robot extracts the age value from the
.jsonfile and displays it in the Output panel.
Aqui você pode baixar um exemplo.
- Description
- Compatibilidade do projeto
- Pré-requisitos
- Windows, configuração multiplataforma
- Opções avançadas
- Exemplo de uso da amostra JSON
- Resultado
- Exemplo de uso de configurações do Serializador
- VB.NET
- C#
- Windows - Configuração legada
- Painel de Propriedades
- Exemplo de uso da atividade Deserialize Json