# Estudio de consultas y transformaciones JSONata

Previsualiza consultas y transformaciones estilo JSONata, compara resultados y exporta en JSON, CSV, YAML o Markdown.

> Página canónica: https://elysiatools.com/es/tools/jsonata-query-transform-studio

- **Categoría:** Data Processing

- **Palabras clave:** jsonata, json, consulta, transformacion

## Descripción general

Pegue un objeto o array JSON en "Entrada JSON" y luego escriba una expresion JSONata en "Expresion JSONata".

Como llenar los campos:
- Entrada JSON: payload JSON principal para consultar o transformar
- Expresion JSONata: una expresion JSONata estandar o una forma helper como groupBy(orders, "status")
- Entrada JSON de comparacion: segundo payload opcional evaluado con la misma expresion para comparar resultados lado a lado
- Formato de salida: renderiza el resultado como JSON, CSV, YAML o Markdown
- Guardar expresion: guarda la expresion actual en el historial local
- Nombre de plantilla: nombre opcional mostrado en el historial

Estilos de expresion admitidos:
- JSONata estandar, como $sum(orders.total) u orders[status="paid"]
- Helpers del estudio sin prefijo $:
  - groupBy(collection, "field.path")
  - mapField(collection, "field.path")
  - flatten(collection)
  - distinct(collection)
  - count(collection)
  - sum(collection)
  - avg(collection)
  - keys(object)

Ejemplos:
- Entrada JSON: {"orders":[{"id":1,"status":"paid","total":120},{"id":2,"status":"pending","total":40}]}
- Expresion: groupBy(orders, "status")
- Expresion: sum(orders.total)
- Expresion: orders[status="paid"]

Notas:
- La herramienta usa el runtime real de jsonata y preprocesa los helpers anteriores para volverlos invocables.
- La entrada JSON de comparacion es opcional, pero sirve mucho para validar la misma transformacion sobre dos respuestas de API o fixtures.

## Entradas

- **Entrada JSON** (textarea): {"orders":\[{"id":1,"status":"paid","total":120}\]}
- **Expresion JSONata** (textarea): groupBy(orders, "status")
- **Entrada JSON de comparacion** (textarea): {"orders":\[{"id":2,"status":"pending","total":55}\]}
- **Formato de salida** (select)
- **Guardar expresion** (checkbox)
- **Nombre de plantilla** (text): Paid order totals

## Cuándo usarlo

- Cuando necesitas extraer o filtrar datos específicos de respuestas de API complejas o archivos JSON anidados.
- Para comparar cómo una misma transformación de datos afecta a dos versiones diferentes de un payload JSON.
- Cuando requieres convertir rápidamente estructuras JSON en formatos tabulares (CSV) o legibles (YAML, Markdown) para reportes.

## Cómo funciona

- Pega tu objeto o array de datos en el campo 'Entrada JSON'.
- Escribe una expresión JSONata estándar o utiliza los helpers integrados (como groupBy o sum) en el campo 'Expresión JSONata'.
- Añade un segundo payload opcional en 'Entrada JSON de comparación' para evaluar la misma expresión en ambos conjuntos de datos.
- Selecciona el 'Formato de salida' deseado (JSON, CSV, YAML o Markdown) y visualiza los resultados transformados al instante.

## Casos de uso

- Agrupación de ventas por estado o categoría a partir de un volcado de datos de comercio electrónico.
- Aplanamiento (flatten) de estructuras JSON profundamente anidadas para su exportación y análisis en Excel vía CSV.
- Validación de regresiones comparando la salida de una API en producción frente a un entorno de desarrollo (staging).

## Preguntas frecuentes

### ¿Qué es JSONata y para qué sirve en esta herramienta?

JSONata es un lenguaje de consulta y transformación para datos JSON. Esta herramienta utiliza su motor para permitirte filtrar, mapear y reestructurar datos complejos con expresiones concisas.

### ¿Qué son los helpers del estudio y cómo se usan?

Son funciones simplificadas sin el prefijo $, como groupBy(orders, "status") o sum(orders.total), que facilitan las operaciones comunes de agrupación y cálculo sobre tus datos.

### ¿Para qué sirve la entrada JSON de comparación?

Permite ejecutar la misma expresión JSONata simultáneamente sobre dos conjuntos de datos distintos, ideal para validar cambios entre dos respuestas de una API o entornos de prueba.

### ¿Puedo exportar los resultados a otros formatos además de JSON?

Sí, puedes cambiar el formato de salida para renderizar los datos transformados como CSV, YAML o Markdown, lo que facilita su integración en hojas de cálculo o documentación.

### ¿Cómo funciona la opción de guardar expresiones?

Al marcar 'Guardar expresión' y asignar un 'Nombre de plantilla', la consulta actual se almacena en el historial local de tu navegador para que puedas reutilizarla en el futuro sin volver a escribirla.

## Herramientas relacionadas

- [Generador de Tablas Markdown](https://elysiatools.com/es/tools/markdown-table-generator): Genera tablas Markdown formateadas a partir de datos CSV, JSON o arreglos con alineacion, estilo de encabezado, ancho de columna y avisos de fusion
- [Removedor de Caracteres BOM](https://elysiatools.com/es/tools/data-bom-remover): Eliminar caracteres BOM (Byte Order Mark) de contenido de texto y archivos. Perfecto para limpiar archivos de texto con problemas de codificación.
- [Tabla Markdown a CSV, JSON y esquema con tipos inferidos](https://elysiatools.com/es/tools/markdown-table-to-csv-json-schema): Convierte una tabla Markdown de barras a CSV, filas JSON o un JSON Schema inferido con diagnósticos de alineación y nulos
- [Banco de texto desordenado a datos estructurados](https://elysiatools.com/es/tools/messy-text-to-structured-data-workbench): Infiere tablas desde texto pegado, delimitadores mixtos, líneas clave-valor o HTML y exporta CSV, JSON y Markdown.
- [Convertidor JSON a CSV](https://elysiatools.com/es/tools/json-to-csv): Convierte datos JSON a formato CSV con opciones de formato personalizables
- [Analizador de logs estructurados](https://elysiatools.com/es/tools/structured-log-analyzer): Detecta formatos comunes de logs, extrae campos clave e infiere tipos para exportar en JSON, CSV o SQL.
- [Text to Excel Converter](https://elysiatools.com/es/tools/text-to-excel): Convert various text formats to Excel with customizable parsing and formatting options
- [Extractor de tablas PDF a CSV/JSON](https://elysiatools.com/es/tools/pdf-table-extractor-to-csv-json): Extrae tablas de PDF con OpenDataLoader y las exporta como JSON estructurado, CSV o HTML

## Ejemplos

- [Ejemplos CSV](https://elysiatools.com/es/samples/csv-samples): Archivos CSV de muestra con varios tipos de datos, tamaños y niveles de complejidad
- [Ejemplos Python](https://elysiatools.com/es/samples/python): Ejemplos de código Python y demostraciones Hello World
- [Ejemplos OpenAPI/Swagger](https://elysiatools.com/es/samples/openapi-swagger): Ejemplos completos de documentación API usando OpenAPI 3.0 y especificaciones Swagger para servicios RESTful
- [Muestras de Trazado Distribuido](https://elysiatools.com/es/samples/distributed-tracing-samples): Ejemplos completos de trazado distribuido usando Jaeger, OpenTelemetry y herramientas de observabilidad modernas

## Contenido relacionado

- [Herramientas de inspeccion, diff y transformacion JSON](https://elysiatools.com/es/hubs/json-utility): Reune en un solo hub herramientas para formatear JSON, comparar cambios, inspeccionar rutas, validar esquemas, combinar archivos y transformar datos para flujos de API y datos.
- [Generadores de esquemas JSON, datos mock y fixtures de API](https://elysiatools.com/es/hubs/json-generate): Herramientas reunidas para generacion de esquemas JSON, construccion de payloads mock y preparacion de fixtures de API en un solo hub.
- [Herramientas de observabilidad, analisis de logs y depuracion de trazas](https://elysiatools.com/es/hubs/observability-debugging): Analiza logs, inspecciona trazas, compara deriva de payloads API y convierte datos de observabilidad en lineas de tiempo, diagramas y evidencia estructurada para depurar mas rapido.
- [Herramientas de intercambio JSON y traduccion de formatos](https://elysiatools.com/es/hubs/json-convert): Compara herramientas de conversion JSON para CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN y otros formatos estructurados en un solo hub.
