Studio de consulta e transformacao JSONata

Visualize consultas e transformacoes no estilo JSONata, compare resultados e exporte em JSON, CSV, YAML ou Markdown.

Cole um objeto ou array JSON em "Entrada JSON" e depois informe uma expressao em "Expressao JSONata".

Como preencher os campos:

  • Entrada JSON: payload JSON principal para consulta ou transformacao
  • Expressao JSONata: uma expressao JSONata padrao ou uma forma helper como groupBy(orders, "status")
  • Entrada JSON de comparacao: segundo payload opcional avaliado com a mesma expressao para comparar os resultados lado a lado
  • Formato de saida: renderiza o resultado como JSON, CSV, YAML ou Markdown
  • Salvar expressao: salva a expressao atual no historico local
  • Nome do modelo: nome opcional exibido no historico salvo

Estilos de expressao suportados:

  • JSONata padrao, como $sum(orders.total) ou orders[status="paid"]
  • Helpers do studio sem o prefixo $:
  • groupBy(collection, "field.path")
  • mapField(collection, "field.path")
  • flatten(collection)
  • distinct(collection)
  • count(collection)
  • sum(collection)
  • avg(collection)
  • keys(object)

Exemplos:

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

Notas:

  • A ferramenta usa o runtime real do jsonata e preprocessa os helpers acima para transformalos em funcoes chamaveis.
  • A entrada JSON de comparacao e opcional, mas muito util para validar a mesma transformacao em duas respostas de API ou fixtures.

Exemplos de resultados

1 Exemplos

Agrupar pedidos por status e exportar o resultado

Compare a distribuicao de status entre dois snapshots com uma expressao.

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" }

Fatos principais

Categoria
Dados e tabelas
Tipos de entrada
textarea, select, checkbox, text
Tipo de saída
html
Cobertura de amostras
4
API disponível
Yes

Visão geral

O Studio de Consulta e Transformação JSONata é uma ferramenta avançada que permite testar, visualizar e comparar consultas em payloads JSON em tempo real. Com suporte a expressões JSONata padrão e funções auxiliares simplificadas, você pode filtrar dados, agrupar resultados e exportar a saída final para formatos como JSON, CSV, YAML ou Markdown, facilitando a análise e a integração de dados.

Quando usar

  • Quando precisar extrair, filtrar ou agrupar dados específicos de grandes respostas de APIs em formato JSON.
  • Para comparar o resultado de uma mesma transformação aplicada a dois payloads JSON diferentes lado a lado.
  • Quando desejar converter rapidamente uma estrutura JSON complexa em formatos mais simples como CSV ou YAML para relatórios.

Como funciona

  • Cole o seu objeto ou array JSON principal no campo 'Entrada JSON'.
  • Insira uma expressão JSONata padrão ou use nossos helpers simplificados (como groupBy ou sum) no campo 'Expressão JSONata'.
  • Opcionalmente, adicione um segundo payload no campo 'JSON de comparação' para avaliar a mesma expressão em dois conjuntos de dados simultaneamente.
  • Selecione o formato de saída desejado (JSON, CSV, YAML ou Markdown) e visualize o resultado transformado instantaneamente.

Casos de uso

Análise de logs de servidores, extraindo apenas os eventos de erro e agrupando-os por código de status.
Transformação de respostas de APIs REST complexas em tabelas CSV planas para importação em planilhas ou ferramentas de BI.
Validação de contratos de dados, comparando como uma mesma regra de extração se comporta em payloads de ambientes de homologação e produção.

Exemplos

1. Agrupamento de pedidos por status

Desenvolvedor Backend
Contexto
O desenvolvedor precisa analisar um dump de banco de dados contendo milhares de pedidos em formato JSON.
Problema
É necessário separar os pedidos pagos dos pendentes para entender a distribuição atual.
Como usar
Cole o JSON de pedidos na 'Entrada JSON', digite groupBy(orders, "status") na 'Expressão JSONata' e selecione a saída como JSON.
Configuração de exemplo
{"outputFormat": "json", "expression": "groupBy(orders, \"status\")"}
Resultado
O payload é reestruturado em um novo objeto JSON onde as chaves são os status ('paid', 'pending') e os valores são os arrays de pedidos correspondentes.

2. Cálculo de receita total e exportação para CSV

Analista de Dados
Contexto
Um analista recebe diariamente um arquivo JSON com as vendas do dia e precisa repassar o faturamento total para a equipe de negócios.
Problema
Extrair a soma de todos os valores de pedidos e converter o resultado para um formato legível em planilhas.
Como usar
Insira o JSON de vendas, use a expressão sum(orders.total) e defina o formato de saída como CSV.
Configuração de exemplo
{"outputFormat": "csv", "expression": "sum(orders.total)"}
Resultado
A ferramenta calcula o valor total das vendas e exibe o resultado formatado em CSV, pronto para ser copiado e colado no Excel.

Testar com amostras

json, csv, yaml

Hubs relacionados

FAQ

Quais tipos de expressões são suportadas?

A ferramenta suporta expressões JSONata padrão (como $sum(orders.total)) e funções auxiliares exclusivas sem o prefixo $, como groupBy, flatten e distinct.

Para que serve o campo de JSON de comparação?

Ele permite inserir um segundo payload JSON para aplicar a mesma expressão simultaneamente, ideal para validar transformações em diferentes respostas de API ou ambientes.

Posso exportar o resultado da minha consulta?

Sim, você pode alterar o formato de saída para renderizar o resultado da transformação diretamente como JSON, CSV, YAML ou Markdown.

É possível salvar as expressões que crio?

Sim, basta marcar a opção 'Salvar expressão' e fornecer um 'Nome do modelo' para armazenar a consulta no seu histórico local para uso futuro.

A ferramenta usa o motor real do JSONata?

Sim, utilizamos o runtime oficial do JSONata, pré-processando apenas os nossos helpers personalizados para transformá-los em funções chamáveis.

Documentação da API

Ponto final da solicitação

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

Parâmetros da solicitação

Nome do parâmetro Tipo Requerido Descrição
jsonInput textarea Sim -
expression textarea Sim -
compareJsonInput textarea Não -
outputFormat select Não -
saveExpression checkbox Não -
templateName text Não -

Formato de resposta

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

Documentação de MCP

Adicione este ferramenta à sua configuração de servidor MCP:

{
  "mcpServers": {
    "elysiatools-jsonata-query-transform-studio": {
      "name": "jsonata-query-transform-studio",
      "description": "Visualize consultas e transformacoes no estilo JSONata, compare resultados e exporte em JSON, CSV, YAML ou Markdown.",
      "baseUrl": "https://elysiatools.com/mcp/sse?toolId=jsonata-query-transform-studio",
      "command": "",
      "args": [],
      "env": {},
      "isActive": true,
      "type": "sse"
    }
  }
}

Você pode encadear várias ferramentas, ex: `https://elysiatools.com/mcp/sse?toolId=png-to-webp,jpg-to-webp,gif-to-webp`, máx 20 ferramentas.

Se você encontrar algum problema, por favor, entre em contato conosco em [email protected]