jsonata

JSONata - Visión general y ejemplos de datos JSON

Florian Zyprian

JSONata es un potente lenguaje de transformación de datos utilizado para transformar y consultar datos JSON. Proporciona una sintaxis simple pero flexible para filtrar y transformar datos en formato JSON. Este tutorial cubre los conceptos básicos de JSONata y muestra cómo se puede utilizar para manipular y consultar datos JSON.

¿Qué es JSONata?

JSONata es un lenguaje de consulta y transformación utilizado para manipular y transformar datos JSON. Fue desarrollado por IBM y ahora es un proyecto de código abierto. JSONata proporciona una sintaxis sencilla e intuitiva que permite extraer, filtrar y transformar datos de documentos JSON.

JSONata es especialmente útil para trabajar con estructuras de datos JSON complejas, como las que se utilizan en servicios web y API. Con JSONata, puedes extraer y transformar fácilmente los datos de estas estructuras, lo que facilita el trabajo con ellas en tus aplicaciones.

Introducción a JSONata

Antes de entrar en detalles sobre JSONata, veamos cómo empezar a utilizarlo. La forma más sencilla de utilizar JSONata es utilizar el evaluador online JSONata Evaluator, que permite experimentar con expresiones JSONata y ver los resultados en tiempo real.

Para utilizar el evaluador JSONata en línea, basta con navegar por la siguiente URL:

https://try.jsonata.org/

Una vez abierto Evaluator, puede experimentar con expresiones JSONata. Evaluator ofrece un editor de JSON a la izquierda, donde puede introducir sus datos JSON, y un editor de expresiones JSONata a la derecha, donde puede introducir sus expresiones JSONata.

Sintaxis básica de JSONata

Las expresiones JSONata consisten en una combinación de operadores y funciones que permiten extraer y transformar datos de documentos JSON. Estas son algunas reglas básicas de sintaxis que debes seguir cuando trabajes con JSONata:

  • Las expresiones JSONata se encierran entre llaves {}.
  • Las expresiones JSONata pueden contener valores literales como cadenas y números.
  • Las expresiones JSONata pueden contener variables que empiecen por el símbolo $.
  • Las expresiones JSONata pueden contener funciones que se llaman con el nombre de la función seguido de una serie de corchetes ().

Funciones JSONata

JSONata ofrece un gran número de funciones integradas que puede utilizar para manipular y transformar datos JSON. Estas son algunas de las funciones más utilizadas:

  • $map - Esta función permite transformar una matriz de valores utilizando una expresión específica.
  • 1TP5Filtro - Esta función permite filtrar una matriz de valores basándose en una expresión específica.
  • $sort - Esta función permite ordenar una matriz de valores basándose en una expresión específica.
  • 1TP5Reducir - Esta función permite reducir una matriz de valores a un único valor utilizando una expresión específica.
  • 1TP5Fusionar - Esta función permite fusionar dos o más objetos en uno solo.

Ejemplos de JSONata

Ahora que ya tienes un conocimiento básico de la sintaxis y las funciones de JSONata, vamos a ver algunos ejemplos de cómo puedes utilizarlo para manipular y transformar datos JSON.

Ejemplo 1 - Extracción de datos de JSON

Digamos que tienes los siguientes datos JSON:

{
  }, "nombre": "John Doe",
  "edad": 30,
  { "email": { "[email protected]",
  "teléfono": {
    "casa": "555-1234",
    "trabajo": "555-5678"
  },
  "address": {
    "street": { "123 Main St",
    "ciudad": "Anytown",
    "state": "CA",
    }, "zip": "12345"
  }
}

Puede utilizar la siguiente expresión JSONata para extraer el nombre, la dirección de correo electrónico y el número de teléfono:

{
  "nombre": nombre
  "email": email,
  "teléfono": {
    "casa": teléfono.casa
  }
}

En el ejemplo anterior, utilizamos llaves {} para definir un nuevo objeto con tres propiedades: Nombre, email y teléfono. A continuación, utilizamos variables (nombre, correo electrónico, teléfono) para extraer los valores correspondientes de los datos JSON de entrada.

Tenga en cuenta que utilizamos la notación con puntos para acceder a valores anidados en los objetos teléfono y dirección. Por ejemplo, phone.home hace referencia al valor de la propiedad home en el objeto phone.

Ejemplo 2: Filtrado de datos a partir de JSON Supongamos que tiene los siguientes datos JSON que representan una lista de empleados:

Ejemplo 2 - Filtrado de datos a partir de JSON

Supongamos que tiene los siguientes datos JSON que representan una lista de empleados:

[ { "nombre": "John Doe", "edad": 30, "departamento": "Ventas" }, { "nombre": "Jane Smith", "edad": 40, "departamento": "Marketing" }, { "nombre": "Bob Johnson", "edad": 25, "departamento": "Ingeniería" }].

Puede utilizar la siguiente expresión JSONata para filtrar la lista de empleados e incluir sólo aquellos que trabajan en el departamento de Ventas:

$[department="Ventas"]

En la expresión anterior, utilizamos la función de filtro $ para filtrar la lista de empleados basándonos en una condición. La condición se especifica con la notación de punto para acceder a la propiedad departamento, seguida de un signo igual (=) y la cadena "Ventas".

Ejemplo 3 - Transformación de datos a partir de JSON

Supongamos que tiene los siguientes datos JSON que representan una lista de productos:

[ { "nombre": "Producto 1", "precio": 10 }, { "nombre": "Producto 2", "precio": 20 }, { "nombre": "Producto 3", "precio": 30 }]

Puede utilizar la siguiente expresión JSONata para transformar la lista de productos y añadir una nueva propiedad

$map($, function($producto) {
  $producto {
    "precioConImpuesto": $producto.precio * 1.1
  }
})

En la expresión anterior, utilizamos la función $map para transformar cada producto de la lista. Pasamos toda la lista de productos con el símbolo $ y utilizamos una función anónima para definir cómo debe transformarse cada producto.

Dentro de la función anónima, utilizamos las llaves {} para definir un nuevo objeto con las propiedades existentes del producto y una nueva propiedad llamada "precioConImpuesto". Utilizamos la notación con puntos para acceder a la propiedad precio del producto y la multiplicamos por 1,1 para calcular el precio con impuestos.

API de documentos Konfuzio y JSONata

Konfuzio Document API puede ayudar a la hora de trabajar con documentos JSON y JSONata, especialmente cuando se analizan documentos que contienen datos estructurados, como facturas, recibos o tablas. La API puede extraer automáticamente estos datos y convertirlos a formato JSON, que luego se puede seguir procesando con JSONata.

Con JSONata y la API de documentos Konfuzio, los desarrolladores pueden extraer, filtrar y transformar rápida y fácilmente estructuras de datos complejas a partir de documentos, ahorrando tiempo y esfuerzo y mejorando la eficacia.

Conclusión sobre JSONata

En este tutorial hemos cubierto los conceptos básicos de JSONata y te hemos mostrado cómo utilizarlo para manipular y consultar datos JSON. Hemos visto la sintaxis básica de las expresiones JSONata y algunas de las funciones más utilizadas. También hemos dado ejemplos de cómo se puede utilizar JSONata para extraer, filtrar y transformar datos de documentos JSON.

JSONata es una potente herramienta que facilita el trabajo con estructuras de datos JSON complejas. Con JSONata, puede realizar complejas transformaciones de datos con sólo unas pocas líneas de código. Esperamos que este tutorial te haya ayudado a iniciarte con JSONata y te haya inspirado para explorar más a fondo sus posibilidades.

Además, el Konfuzio puede ofrecerle API de documentos le ayudan a editar y gestionar documentos en JSON y JSONata. Con la API puede, por ejemplo, convertir documentos a JSON y, a continuación, extraer o transformar determinados datos de ellos mediante consultas JSONata. Esto le permite procesar y analizar grandes volúmenes de documentos de forma rápida y sencilla.

Sobre mí

Más artículos interesantes

Haga búsquedas en PDF: Con OCR en 5 pasos

En el contexto de la digitalización, las empresas disponen hoy de dos tipos principales de archivos PDF: los PDF creados con programas como Microsoft...

Leer el artículo

iPaaS - Mayor eficiencia mediante datos integrados

Dada la situación actual, en la que los datos se almacenan en sistemas distribuidos y en diversos formatos, resulta inevitable...

Leer el artículo

17 Alternativas de software sin código y de bajo código en 2024

Los recursos informáticos son escasos. Y: las empresas tienen que reaccionar cada vez más rápido a las nuevas exigencias del mercado y del negocio para seguir siendo competitivas. Para...

Leer el artículo
Flecha arriba