Estudio de consultas y transformaciones JSONata

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

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.

Resultados de ejemplo

1 Ejemplos

Agrupar pedidos por estado y exportar el resultado

Usa una expresion para comparar la distribucion de estados entre dos snapshots.

groupBy result preview
Ver parámetros de entrada
{ "jsonInput": "{\"orders\":[{\"id\":1,\"status\":\"paid\",\"total\":120},{\"id\":2,\"status\":\"pending\",\"total\":40}]}", "expression": "groupBy(orders, \"status\")", "outputFormat": "json" }

Datos clave

Categoría
Datos y tablas
Tipos de entrada
textarea, select, checkbox, text
Tipo de salida
html
Cobertura de muestras
4
API disponible
Yes

Resumen

El Estudio de consultas y transformaciones JSONata es una herramienta avanzada que permite evaluar, previsualizar y comparar expresiones JSONata en tiempo real. Diseñado para desarrolladores y analistas de datos, facilita la extracción, filtrado y agrupación de datos complejos, ofreciendo la posibilidad de comparar dos cargas útiles simultáneamente y exportar los resultados en formatos como JSON, CSV, YAML o Markdown.

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).

Ejemplos

1. Agrupar pedidos por estado y exportar a CSV

Analista de Datos
Contexto
El equipo de operaciones necesita un reporte diario de los pedidos agrupados por su estado (pagado, pendiente, cancelado) para importarlo a su sistema de BI.
Problema
El sistema exporta un JSON plano con miles de pedidos que es difícil de leer y analizar directamente.
Cómo usarlo
Pega el JSON de pedidos en 'Entrada JSON', usa la expresión groupBy(orders, "status") y selecciona 'CSV' como formato de salida.
Configuración de ejemplo
{"outputFormat": "csv", "expression": "groupBy(orders, \"status\")"}
Resultado
Los datos se agrupan automáticamente por estado y se renderizan en formato tabular CSV, listos para ser copiados a una hoja de cálculo.

2. Comparar respuestas de API entre entornos

Desarrollador Backend
Contexto
Se ha refactorizado un endpoint de la API que devuelve el perfil de los usuarios y sus permisos.
Problema
Es necesario asegurar que la lógica de extracción de permisos críticos devuelva exactamente los mismos resultados en la versión antigua y en la nueva.
Cómo usarlo
Pega la respuesta de producción en 'Entrada JSON', la respuesta de staging en 'Entrada JSON de comparación', y usa la expresión distinct(users.permissions).
Configuración de ejemplo
{"expression": "distinct(users.permissions)", "outputFormat": "json"}
Resultado
La herramienta evalúa la expresión en ambos JSON lado a lado, permitiendo confirmar visualmente que la lista de permisos únicos es idéntica en ambas versiones.

Probar con muestras

json, csv, yaml

Hubs relacionados

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.

Documentación de la API

Punto final de la solicitud

POST /es/api/tools/jsonata-query-transform-studio

Parámetros de la solicitud

Nombre del parámetro Tipo Requerido Descripción
jsonInput textarea -
expression textarea -
compareJsonInput textarea No -
outputFormat select No -
saveExpression checkbox No -
templateName text No -

Formato de respuesta

{
  "result": "
Processed HTML content
", "error": "Error message (optional)", "message": "Notification message (optional)", "metadata": { "key": "value" } }
HTML: HTML

Documentación de MCP

Agregue este herramienta a su configuración de servidor MCP:

{
  "mcpServers": {
    "elysiatools-jsonata-query-transform-studio": {
      "name": "jsonata-query-transform-studio",
      "description": "Previsualiza consultas y transformaciones estilo JSONata, compara resultados y exporta en JSON, CSV, YAML o Markdown.",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=jsonata-query-transform-studio",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Puede encadenar múltiples herramientas, por ejemplo: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, máximo 20 herramientas.

Si encuentra algún problema, por favor, póngase en contacto con nosotros en [email protected]