UiPath Documentation
activities
latest
false
Actividades de desarrollador
Importante :
Este contenido se ha localizado parcialmente a partir de un sistema de traducción automática. La localización de contenidos recién publicados puede tardar entre una y dos semanas en estar disponible.

Deserializar JSON

UiPath.WebAPI.Activities.DeserializeJson

Descripción

Deserializa la cadena JSON o la muestra en un objeto JSON. De forma predeterminada, el resultado es un JObject, pero puedes elegir un tipo de salida diferente utilizando la propiedad Tipo de salida .

Compatibilidad de proyectos

Windows - Heredado | Windows | Multiplataforma

Requisitos previos

Para configurar la propiedad Configuración del serializador utilizando la asignación de datos, utiliza Studio 25.10 o posterior. En versiones anteriores de Studio, esta propiedad utiliza la ventana Editor de expresiones en su lugar.

Windows, configuración 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'}".
  • Muestra de JSON : una muestra del JSON utilizado para generar las propiedades del objeto de salida. La muestra debe estar en formato JSON. La actividad convierte esta muestra en un objeto similar que puedes utilizar durante el tiempo de diseño.

Opciones avanzadas

Entrada
  • Configuración del serializador : configuración personalizada del deserializador que se utilizará al deserializar la cadena JSON. Utiliza esta propiedad cuando quieras controlar completamente cómo se deserializa la cadena JSON.
  • Tipo de salida : una lista desplegable que te permite elegir el tipo de argumento del objeto en el que deserializarse.
    Nota:

    En Studio Web, generar la estructura de salida a partir de la propiedad Muestra JSON hace que la propiedad Tipo de salida sea de solo lectura.

Salida
  • Objeto JSON : el JSON deserializado, devuelto como un objeto del tipo seleccionado en la propiedad Tipo de salida . Cuando se utiliza el tipo predeterminado, el resultado es una variable Newtonsoft.Json.Linq.JObject . Consulta más información sobre objetosNewtonsoft.Json.Linq.JObject .

Ejemplo de uso de la muestra JSON

La propiedad Muestra JSON genera la estructura del objeto de salida en tiempo de diseño a partir de un fragmento JSON representativo. Después de proporcionar una muestra, la actividad infiere un tipo coincidente y lo asigna a la propiedad Tipo de salida , para que puedas hacer referencia a los valores deserializados por nombre en actividades posteriores en lugar de consultarlos con SelectToken.

Nota:

La propiedad Muestra JSON es un ayudante en tiempo de diseño. Está disponible en Studio Web y en las versiones de Studio que admiten la inferencia de tipos personalizados. Cuando estas características no están disponibles, la propiedad está oculta.

Para ejemplificar cómo utilizar la muestra JSON, extraemos el nombre y la ciudad de una persona de una cadena JSON:

  1. Añade una actividad Deserializar JSON a tu flujo de trabajo.

  2. En el campo Cadena JSON , introduce el JSON a deserializar. Por ejemplo: "{'name': 'John Doe', 'age': 30, 'address': {'city': 'New York'}}".

  3. En el campo Muestra JSON , pega una muestra representativa con la misma estructura:

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

    La actividad lee la muestra y genera un objeto de salida que refleja esta estructura. La propiedad Tipo de salida se actualiza al tipo generado.

  4. En una actividad posterior, haz referencia a los valores deserializados directamente a través de los nombres de propiedad definidos en tu muestra, por ejemplo JsonObject.name y JsonObject.address.city, en lugar de utilizar JsonObject.SelectToken("name").

Resultado

El objeto de salida expone las propiedades de tu muestra, por lo que JsonObject.name devuelve John Doe y JsonObject.address.city devuelve New York sin consultar el JSON con SelectToken.

Ejemplo de uso de la configuración del serializador

Cuando no haya ninguna asignación de datos disponible para la propiedad Configuración del serializador , configúrala en el Editor de expresiones utilizando uno de los siguientes fragmentos de código. Para obtener más información, consulta la documentación de 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 - Configuración heredada

Panel de propiedades

Común
  • Nombre para mostrar: el nombre para mostrar de la actividad.
Entrada
  • Muestra JSON : la muestra JSON para la estructura de salida. La actividad convierte esta muestra en un objeto similar que puedes utilizar durante el tiempo de diseño.
  • CadenaJson : la cadena que contiene el JSON que se va a deserializar. Escribe el JSON sin sangrías y entre comillas dobles. Las cadenas dentro del JSON deben escribirse con comillas simples. Por ejemplo, el siguiente JSON es válido: "{'TenancyName': 'Documentation', 'UsernameOrEmail': 'Documentation', 'Password': 'Documentation'}".
Otros
  • Privado : si se selecciona, los valores de variables y argumentos ya no se registran en el nivel Detallado.
  • TipoDeArgumento : una lista desplegable que te permite seleccionar el tipo de salida devuelta. La cadena JSON proporcionada se convertirá en un objeto del tipo seleccionado.
Salida

Ejemplo de uso de la actividad Deserializar Json

La actividad Deserializar Json se utiliza para extraer datos de archivos JSON y cadenas.

Para ejemplificar cómo utilizar esta actividad, hemos creado un ejemplo que utiliza la actividad Deserializar Json para extraer la edad de una persona de un archivo JSON.

Así es como se puede construir el proceso de automatización:

  1. Abre Studio y crea un nuevo Proceso.
  2. Drag a Sequence to the Workflow Designer.
    • Crea las siguientes variables:

      Nombre de la variableTipo de variableValor predeterminado
      JsonTextCadena
      JsonObjJObject
      AgeValorGenérico
  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. Añade una actividad Deserializar JSON después de la actividad Leer archivo de texto.
    • 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. Arrastra una actividad Escribir línea después de la actividad Asignar.
    • Agrega la variable Age en el campo Texto.
  7. Run the process. The robot extracts the age value from the .json file and displays it in the Output panel.

Aquí puedes descargar un ejemplo.

¿Te ha resultado útil esta página?

Conectar

¿Necesita ayuda? Soporte

¿Quiere aprender? UiPath Academy

¿Tiene alguna pregunta? Foro de UiPath

Manténgase actualizado