Show HN: jnv: filtro interativo de JSON com jq
(github.com/ynqa)-
jnv_jnv_ para explorar JSON
- O jnv_jnv_ oferece um visualizador interativo de JSON e um editor de filtros
jq. - Foi projetado com inspiração no jid e no jiq.
- O jnv_jnv_ oferece um visualizador interativo de JSON e um editor de filtros
-
Recursos
- Visualizador interativo de JSON e editor de filtros
jqcom destaque de sintaxe JSON. - Pode receber JSON da entrada padrão (
stdin), de arquivos e de URLs. - Suporte a autocompletar de filtros.
- Tipos de filtro compatíveis: Identity, Object Identifier-Index, Array Index.
- Fornece mensagens de dica para avaliação de filtros.
- Visualizador interativo de JSON e editor de filtros
-
Como instalar
- Instalação via Homebrew:
brew install ynqa/tap/jnv - Instalação via Cargo:
- Requisito necessário: automake
- Comando de instalação:
cargo install jnv
- O jnv não exige que o usuário instale
jqno sistema, pois usa o j9, um binding em Rust.
- Instalação via Homebrew:
-
Exemplos
- Ler de um arquivo:
jnv data.json - Ler da entrada padrão:
cat data.json | jnv
- Ler de um arquivo:
-
Mapeamento de teclas
Ctrl + C: sair do jnvTab: autocompletar do filtro jq- Teclas de seta e combinações com
Ctrl: mover o cursor e apagar caracteres do filtro Enter: alternar expandir/recolher no visualizador de JSONCtrl + P/N: expandir/recolher todas as dobras no visualizador de JSON
-
Uso
- Explorador de JSON e filtro interativo com jq.
- Exemplo de uso:
jnv [OPTIONS] [INPUT] - Opções:
- Definir o modo de edição: "insert" ou "overwrite"
- Ajustar o formato de exibição do JSON: alterar o nível de indentação
- Exibir dicas ou não: mostrar dicas que oferecem sugestões ou orientação ao usuário
- Definir a profundidade inicial de expansão: profundidade inicial de expansão dos nós JSON
- Controlar o tamanho da lista de sugestões: ajustar o tamanho da lista de sugestões para permitir uma seleção mais eficiente
Opinião do GN⁺
- O jnv_jnv_ é uma ferramenta que facilita a exploração e a filtragem de dados JSON, sendo especialmente útil para desenvolvedores que lidam com grandes conjuntos de dados.
- A ferramenta oferece o poder do
jqem uma interface amigável, tornando o processamento de dados JSON mais eficiente. - Como o jnv_jnv_ é implementado em Rust, pode ter vantagens em desempenho e estabilidade, além de não exigir a instalação separada do
jqno sistema. - Outras ferramentas com recursos semelhantes incluem ferramentas de teste de API como Postman e Insomnia, mas elas são focadas principalmente em testes de API e são menos especializadas em exploração pura de JSON como o jnv_jnv_.
- Ao adotar o jnv_jnv_, é preciso considerar a intuitividade da interface e as limitações dos recursos de filtragem; em casos que exijam processamento complexo de JSON, talvez seja necessário aprender scripts
jqseparadamente.
1 comentários
Comentários do Hacker News
Muito legal, uma pequena observação:
Parece realmente interessante — vou conferir com certeza.
Muito legal!! Vou instalar assim que pegar meu laptop.
Muito legal! Parece muito com o jless.
Às vezes penso que seria bom poder pesquisar dentro da saída JSON no navegador ou na IDE.
Se você usa Emacs, também existe o jq-mode.
Muito legal, o que sempre me frustrou ao usar jq é que você não consegue ver que dados vai obter até pesquisar os dados.
Se você usa Sublime Text, existe um plugin que torna isso possível.
Queria que todo mundo conhecesse a alternativa "fx".
Muito legal. Não sei se é pedir demais, mas seria possível adaptar isso para também funcionar com o OjG, que usa JSONPath em vez da sintaxe do jq?