Playground jq

Cole JSON, escreva um filtro jq e veja o resultado instantaneamente. Roda o jq real compilado para WebAssembly, inteiramente no seu navegador.

Seu JSON é processado localmente pelo jq rodando como WebAssembly no seu navegador e nunca é enviado, mas evite colar segredos ou dados de produção em qualquer ferramenta.

Precisa de um JSONPath em vez de jq? Experimente o Avaliador JSONPath.

Sobre Playground jq

Este playground jq permite rodar filtros jq contra JSON sem instalar nada. Cole um documento JSON, digite uma expressão como .users | map(.name), .[] | select(.active) ou group_by(.type), e o resultado aparece enquanto você digita. É o jq 1.8.2 real compilado para WebAssembly, então os mesmos filtros, funções e sintaxe de pipe que você usa na linha de comando funcionam aqui, incluindo map, select, sort_by, group_by, to_entries e interpolação de strings. Ative a saída bruta (-r) para remover as aspas dos resultados de string, ou a saída compacta (-c) para colocar cada valor em uma linha. Erros de compilação e de execução do jq são exibidos para que você corrija um filtro rapidamente. Como o jq roda como WebAssembly dentro da página, o JSON que você cola é processado localmente no seu dispositivo e nunca é enviado para um servidor.

Recursos

Como usar Playground jq

  1. Cole ou digite seu JSON na caixa JSON.
  2. Escreva um filtro jq na caixa de filtro, por exemplo .users | map(.name).
  3. Acompanhe a saída atualizar, ou pressione Executar / Cmd+Enter para avaliar imediatamente.
  4. Ative a saída bruta (-r) ou compacta (-c) se precisar de formatação diferente.
  5. Clique em Copiar para pegar o resultado.

Exemplo

Entrada

{
  "users": [
    { "name": "Ada", "active": true },
    { "name": "Linus", "active": false }
  ]
}

Saída

[
  "Ada"
]

O filtro .users | map(select(.active)) | map(.name) mantém apenas os usuários ativos e retorna seus nomes.

Erros comuns e solução de problemas

Perguntas frequentes

Isso roda o jq real?
Sim. Ele roda o jq compilado para WebAssembly, então é o motor jq de verdade, não uma reimplementação em JavaScript. Os filtros, as funções embutidas e a semântica de pipe correspondem ao jq que você roda em um terminal.
Qual versão do jq tem suporte?
jq 1.8.2, via a build jq-wasm. Funções e sintaxe disponíveis no jq 1.8 — como group_by, to_entries, ltrimstr e interpolação de strings com \(...) — funcionam aqui.
O que os botões de saída bruta (-r) e compacta (-c) fazem?
A saída bruta (-r) imprime resultados de string sem as aspas ao redor, correspondendo à flag -r do jq. A saída compacta (-c) imprime cada valor JSON em uma única linha em vez de formatá-lo, correspondendo à flag -c do jq.
Meu JSON é enviado para algum lugar?
Não. O jq roda como WebAssembly dentro desta página, então o JSON que você cola e o filtro que você escreve são avaliados localmente no seu dispositivo e não são enviados para um servidor.
Por que a primeira execução é um pouco mais lenta?
O módulo WebAssembly do jq é baixado e inicializado na primeira vez que você roda um filtro, e é por isso que você vê um breve estado de carregamento. Depois disso ele fica na memória e as execuções seguintes são rápidas.
Posso rodar filtros com select, map e group_by?
Sim. Expressões como .[] | select(.active), .users | map(.name) e group_by(.type) funcionam, junto com o resto das funções de filtragem, transformação e agregação do jq.

Ferramentas relacionadas

Todas as ferramentas de ArrayKit