# Studio de consulta e transformacao JSONata

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

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

- **Categoria:** Data Processing

- **Palavras-chave:** jsonata, json, consulta, transformacao

## Visão geral

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.

## Entradas

- **Entrada JSON** (textarea): {"orders":\[{"id":1,"status":"paid","total":120}\]}
- **Expressao JSONata** (textarea): groupBy(orders, "status")
- **JSON de comparacao** (textarea): {"orders":\[{"id":2,"status":"pending","total":55}\]}
- **Formato de saida** (select)
- **Salvar expressao** (checkbox)
- **Nome do modelo** (text): Paid order totals

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

## Perguntas frequentes

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

## Ferramentas relacionadas

- [Gerador de Tabelas Markdown](https://elysiatools.com/pt/tools/markdown-table-generator): Gera tabelas Markdown formatadas a partir de dados CSV, JSON ou arrays com alinhamento, estilo de cabecalho, largura de coluna e dicas de mesclagem
- [Removedor de Caracteres BOM](https://elysiatools.com/pt/tools/data-bom-remover): Remover caracteres BOM (Byte Order Mark) de conteúdo de texto e arquivos. Perfeito para limpar arquivos de texto com problemas de codificação.
- [Tabela Markdown para CSV, JSON e esquema com tipos inferidos](https://elysiatools.com/pt/tools/markdown-table-to-csv-json-schema): Converte uma tabela Markdown com barras para CSV, linhas JSON ou JSON Schema inferido com diagnósticos de alinhamento e nulos
- [Workbench de texto confuso para dados estruturados](https://elysiatools.com/pt/tools/messy-text-to-structured-data-workbench): Infere tabelas de texto colado, delimitadores mistos, linhas chave-valor ou HTML e exporta CSV, JSON e Markdown.
- [Conversor JSON para CSV](https://elysiatools.com/pt/tools/json-to-csv): Converte dados JSON para formato CSV com opções de formato personalizáveis
- [Analisador de logs estruturados](https://elysiatools.com/pt/tools/structured-log-analyzer): Detecta formatos comuns de logs, extrai campos principais e exporta em JSON, CSV ou SQL.
- [Text to Excel Converter](https://elysiatools.com/pt/tools/text-to-excel): Convert various text formats to Excel with customizable parsing and formatting options
- [Extrator de tabelas PDF para CSV/JSON](https://elysiatools.com/pt/tools/pdf-table-extractor-to-csv-json): Extrai tabelas de PDF com OpenDataLoader e exporta em JSON, CSV ou HTML

## Exemplos

- [Exemplos CSV](https://elysiatools.com/pt/samples/csv-samples): Arquivos CSV de exemplo com vários tipos de dados, tamanhos e níveis de complexidade
- [Exemplos Python](https://elysiatools.com/pt/samples/python): Exemplos de código Python e demonstrações Hello World
- [Exemplos OpenAPI/Swagger](https://elysiatools.com/pt/samples/openapi-swagger): Exemplos abrangentes de documentação API usando OpenAPI 3.0 e especificações Swagger para serviços RESTful
- [Exemplos de Rastreamento Distribuído](https://elysiatools.com/pt/samples/distributed-tracing-samples): Exemplos completos de rastreamento distribuído usando Jaeger, OpenTelemetry e ferramentas modernas de observabilidade

## Conteúdo relacionado

- [Ferramentas de inspecao, diff e transformacao JSON](https://elysiatools.com/pt/hubs/json-utility): Reune em um so hub ferramentas para formatar JSON, comparar mudancas, inspecionar caminhos, validar schema, mesclar arquivos e transformar dados para fluxos de API e dados.
- [Geradores de schema JSON, dados mock e fixtures de API](https://elysiatools.com/pt/hubs/json-generate): Ferramentas reunidas para geracao de schema JSON, construcao de payloads mock e preparacao de fixtures de API em um unico hub.
- [Ferramentas de observabilidade, analise de logs e depuracao de traces](https://elysiatools.com/pt/hubs/observability-debugging): Analise logs, inspecione traces, compare deriva de payloads de API e transforme dados brutos de observabilidade em linhas do tempo, diagramas e evidencias estruturadas para depurar mais rapido.
- [Ferramentas de intercambio JSON e traducao de formatos](https://elysiatools.com/pt/hubs/json-convert): Compare ferramentas de conversao JSON para CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN e outros formatos estruturados em um unico hub.
