Playground de jq
jq Playground
Executa filtros do jq 1.7 sobre JSON colado no navegador, com uma cola de sintaxe, e entrega a linha de comando equivalente.
Executa filtros jq contra um documento no navegador: um interpretador de verdade para a gramática do jq 1.7, não umas poucas operações de string, então pipes, `reduce`, `def`, desestruturação e os operadores de atualização se comportam como na linha de comando. O comando de shell equivalente é impresso abaixo do filtro.
Filtro
jq '.orders[] | select(.status == "shipped") | {id, customer}' data.json
JSON de entrada
Solte um arquivo .json
Lido só nesta aba. Nada é enviado.
1 saída
Saídas
1
Tempo
<1 ms
Tipos
object
Um interpretador da gramática do jq 1.7, escrito aqui. Ele suporta caminhos (.a[0].b, .., ?), |·,·//, aritmética, comparação, and/or/not, interpolação de strings, if, try, reduce, foreach, as (com desestruturação), def, atualizações como |=·+=, formatos como @base64·@csv, e as 180 funções embutidas listadas abaixo. Os testes são os próprios exemplos do manual do jq.
Não suportado: input·inputs (só existe um documento), $ENV·env (vazio), label·break, --stream, arrays aninhados em @sh, formatos diferentes de ISO 8601 no strptime, o modo de stream do getpath e os módulos (import). As expressões regulares rodam no motor do navegador e não no Oniguruma do jq, então \p{L} e os grupos nomeados funcionam, e pode haver diferenças sutis em torno do lookbehind.
Se tudo o que você quer é um caminho, talvez seja mais simples o Testador de JSONPath.
Como usar
Cole o documento
Um valor JSON, ou vários em sequência: a ferramenta os lê como um stream de entrada do jq, e a contagem aparece no título do painel.
Escreva o filtro, ou pegue um da fileira de exemplos
Os botões cobrem as formas que aparecem: select, map, group_by, interpolação de strings, reduce e os operadores de atualização. Passar o mouse por um diz o que ele faz.
Defina as flags que você usaria na linha de comando
`-c` para uma linha por saída, `-S` para ordenar chaves, `-r` para strings sem aspas, `-s` para juntar várias entradas em um array só. A linha de comando no fim se atualiza com elas.
Copie o comando, não só a saída
A linha `jq …` gerada está com as aspas certas para um shell POSIX, então pode ir direto para um script ou um pipeline.
Perguntas frequentes
Isto é jq de verdade?
É um interpretador independente da gramática do jq, testado contra os exemplos do próprio manual do jq. Isso cobre a linguagem e os builtins comuns; não é uma compilação do jq em si, então qualquer coisa que dependa dos internos em C do jq vai diferir.
Por que `input` não funciona?
Porque aqui há um documento, não um stream do qual um filtro possa puxar mais. `input`, `inputs`, `$ENV`, `env`, `label`/`break`, `--stream` e módulos estão todos listados como não suportados na página, em vez de falhar misteriosamente.
Minha expressão regular se comporta diferente da do jq.
O jq usa Oniguruma; isto usa o motor do navegador. Na prática `\p{L}` e grupos nomeados funcionam nos dois, e as diferenças aparecem em torno de lookbehind e de alguns escapes de classe de caracteres. Se um padrão importa, teste na máquina que vai executá-lo.
Parou em 5.000 saídas.
Um limite deliberado, junto com um limite de passos. `..` sobre um documento grande produz uma saída enorme, e um filtro com recursão desgovernada travaria a aba de outro modo. Restrinja o filtro, ou execute na linha de comando, onde você pode encadear com `head`.
Pode receber de
Conversor de JSON Lines
JSON Lines Converter
Converte entre NDJSON e um array JSON, e aponta pelo número cada linha que não é analisada em vez de parar a conversão.
Testador de JSONPath
JSONPath Tester
Executa uma expressão JSONPath contra um documento e destaca os nós encontrados enquanto você digita.
Formatador e validador de JSON
JSON Formatter & Validator
Formata, minifica e valida JSON, apontando a linha e a coluna exatas de um erro de sintaxe.
Formatador e validador de YAML
YAML Formatter & Validator
Reindenta YAML de forma consistente, valida e aponta os erros de tabulação e âncora que quebram os parsers.
Em seguida
Estas aceitam o que esta ferramenta produz, então o resultado pode ir direto.
JSON ⇄ CSV conversor
JSON ⇄ CSV
Achata JSON aninhado em colunas ou reconstrói objetos a partir de uma tabela, com uma regra de nome de coluna por caminho com pontos.
Formatador e validador de JSON
JSON Formatter & Validator
Formata, minifica e valida JSON, apontando a linha e a coluna exatas de um erro de sintaxe.
Testador de JSONPath
JSONPath Tester
Executa uma expressão JSONPath contra um documento e destaca os nós encontrados enquanto você digita.
Conversor de JSON Lines
JSON Lines Converter
Converte entre NDJSON e um array JSON, e aponta pelo número cada linha que não é analisada em vez de parar a conversão.
Codificar e decodificar Base64
Base64 Encoder & Decoder
Codifica e decodifica Base64 e Base64URL para texto ou arquivos, tratando UTF-8 corretamente.
curl para código
curl to Code
Converte um comando curl em fetch, axios, Python requests, Go, PHP ou PowerShell.