7 ferramentas que tornam o trabalho com JSON uma alegria

por Nada Em Troca
6 minutos de leitura
7 ferramentas que tornam o trabalho com JSON uma alegria

JSON está em toda parte hoje em dia: arquivos de configuração, APIs web, formatos de data e muito mais. Também se tornou popular entre os fabricantes de ferramentas, que criaram muitos programas diferentes para ler, modificar e processar JSON para uma ampla variedade de finalidades.

HTG encerrado em 19 de dezembro
HTG Wrapped 2025: 24 dias de tecnologia

24 dias de nossos hardwares, gadgets e tecnologia favoritos

4
Por Will Verduzco

Seu navegador da web, para visualização básica

Vamos começar com a ferramenta que você provavelmente mais usa e que está disponível em quase todos os seus dispositivos: seu navegador. Como muitos arquivos JSON são originados on-line, por que não usar seu navegador como uma ferramenta conveniente para visualizá-los?

A experiência padrão do Chrome é básica, mas pelo menos oferece uma bela opção de impressão para formatar JSON de maneira adequada:

Um arquivo JSON exibido no Chrome, com formatação básica e uma caixa de seleção para selecionar um

Você pode obter muito mais funcionalidades de uma extensão de navegador, como JSON Viewer. Isso adiciona destaque de sintaxe, números de linha, seções recolhíveis e URLs com hiperlinks, entre outros recursos.

Outros navegadores podem oferecer esse tipo de funcionalidade integrada. O Firefox, por exemplo, apresenta arquivos JSON em um formato muito agradável de consumir:

Um arquivo JSON exibido no navegador Firefox, com ícones para recolher e expandir entradas e realce de sintaxe baseado em cores.

A ferramenta fx, para visualização no terminal

Em vez de visualizar em seu navegador, normalmente será melhor usar uma ferramenta de terminal. Felizmente, um benefício do JSON é seu formato legível por humanos, portanto você não deverá ter problemas para ler um arquivo JSON com algo como cat.

Se você quiser atualizar um pouco a experiência, existem muitas ferramentas de linha de comando que você pode usar, conforme confirmado pelo Homebrew:

O comando brew search relata fórmulas que correspondem a uma pesquisa pela palavra “json”.

Meu favorito pessoal é fx, que é um pouco como um pager interativo com tratamento especial para arquivos JSON. Suportando uma série de atalhos de teclado, a ferramenta permite navegar rapidamente em arquivos JSON, com comandos para expandir ou contrair estruturas como matrizes e objetos. Você também pode pesquisar texto nos dados.

A ferramenta de linha de comando fx mostrando um arquivo JSON com uma entrada destacada e outras recolhidas.

jless é uma ferramenta muito semelhante, mas prefiro a aparência do fx, que também possui alguns recursos avançados de processamento.

Embora fx seja um visualizador JSON, você pode usar seu v atalho para abrir o arquivo JSON atual em seu editor e fazer algumas alterações rápidas.

Um editor de texto, para ler e modificar

Falando em edição, você ficará satisfeito em saber que qualquer editor de texto decente lidará com arquivos JSON. Quer você use Vim, Sublime Text ou VS Code, ele suportará JSON.

Além do mais, a maioria dos editores fornecerá excelente destaque de sintaxe do JSON pronto para uso. Veja este exemplo de um arquivo JSON simples aberto no Zed:

Um arquivo JSON aberto no editor Zed, com números de linha e sintaxe destacados por cor.

Zed usa cores para distinguir chaves de strings e números. Sua excelente formatação automática também é valiosa quando se trata de JSON, principalmente porque limpa quaisquer vírgulas finais, que são JavaScript legais, mas inválidas em dados JSON. Zed também oferece suporte a JSONC, o que significa que você pode injetar comentários diretamente em seus dados JSON.

Um aplicativo da web para formatar ou validar

De volta à web, há uma abundância de ferramentas para formatação JSON. Esses são aplicativos da web muito simples de criar, mas ao mesmo tempo muito úteis, por isso não é de admirar que existam tantos.

JSONLint é uma opção sólida e de código aberto que destaca erros de sintaxe:

Uma interface da web exibindo um arquivo JSON com uma linha selecionada em vermelho e uma mensagem de erro abaixo, declarando o JSON inválido.

Há também JsonPretty, JSON Formatter, Json Prettier e muito mais.

Se você usa o DuckDuckGo, nem precisa sair do seu mecanismo de busca para validar o JSON. Este concorrente do Google possui um validador básico integrado; basta pesquisar por “validador json” e você o verá incorporado nos resultados:

O mecanismo de pesquisa Duck Duck Go exibindo um validador e formatador JSON.

Embora todos os formatadores realizem a validação da sintaxe básica do seu JSON, alguns vão um pouco mais longe e validam a semântica também, usando o esquema JSON. Esta especificação permite descrever a estrutura pretendida dos seus dados JSON no próprio JSON. Uma ferramenta como JSONSchema.dev pode então validar seu JSON usando-o:

O site JSONScheme.dev mostra um esquema ao lado de um documento de teste, que é mostrado como inválido de acordo com esse esquema.

O utilitário jq, para consultar e editar

Sem dúvida, o rei das ferramentas de linha de comando JSON, jq é o canivete suíço que você deve usar quando quiser manipular dados JSON sem usar uma linguagem de programação completa.

jq pega JSON como entrada e o transforma de acordo com os filtros que você fornece. Como é uma ferramenta de linha de comando, você pode canalizar a entrada de um arquivo ou outro comando, como curl, para buscar dados da web. A API GitHub tem vários endpoints abertos que respondem com saída JSON, por isso é ótimo para testes:

Um comando curl executado em uma URL da API GitHub mostra a saída JSON.

Você pode canalizar a saída deste comando para jq e usar o filtro mais simples possível para formatá-lo:

curl https://api.github.com/rate_limit -s | jq '.'

Observe que o GitHub já retorna JSON bem formatado, então o efeito jq é realçar a sintaxe da saída usando cores:

Um arquivo JSON canalizado para o comando jq mostra a sintaxe destacada em cores.

Mas este é apenas o começo do que você pode conseguir com filtros jq. Por exemplo, você pode extrair um valor específico:

$ curl https://api.github.com/rate_limit -s | jq '.resources.code_search.remaining' 41

Você pode usar filtros mais complicados, como este que busca os nomes dos recursos:

$ curl https://api.github.com/rate_limit -s | jq '.resources | keys[]' "code_search" "core" "graphql" "integration_manifest" "search"

jq usa o operador pipe (|) para encadear filtros; certifique-se de não confundir isso com o uso de tubo pelo shell!

JavaScript, para realmente programar com ele

Felizmente, você pode fazer absolutamente qualquer coisa imaginável com JSON, mesmo que o jq ainda não consiga suportá-lo. Afinal, JSON é JavaScript Object Notation, então não deveria ser uma surpresa que ele se integra muito bem a essa linguagem.

A maioria das funcionalidades está relacionada ao objeto JSON integrado, que fornece um par de funções úteis:

  • JSON.parse(text): esta função pega uma string JSON e a converte em dados JavaScript nativos.
  • JSON.stringify(value): esta função faz o oposto, pegando um valor JavaScript e convertendo-o em uma string JSON.

Usando essas duas funções, você pode converter de e para JSON sempre que precisar. Enquanto isso, a API fetch pode processar JSON por meio do objeto Response json método. O padrão de uso geral é assim:

fetch(url)     .then(response => response.json())     .then(data => // use data just like any other JS object)) 

Assim, por exemplo, você pode usar o código a seguir para buscar dados da API do GitHub para exibir um resumo do commit mais recente em um repositório:

fetch("https://api.github.com/repos/jqlang/jq/commits?per_page=1")     .then(response => response.json())     .then(data => alert(         data[0].commit.author.name         + "n"         + data[0].commit.author.date         + "n" + data[0].commit.message)) 

Execute este código e você verá uma mensagem construída diretamente a partir dos dados que você buscou na API:

Uma leitura de alerta do navegador da web

Outras linguagens, para ainda mais programação

Finalmente, embora o JSON tenha sido originado do JavaScript, você também pode usá-lo com outras linguagens. Na verdade, a maioria das linguagens tem excelente suporte para JSON, incluindo Python:

obj = { 'name': 'John' } str = json.dumps(obj)  print(str) # {"name": "John"}  obj2 = json.loads(str)  print(obj2['name']) # John

Ruby tem uma interface quase idêntica; apenas usa os nomes dumps e loads:

json = '{ "name": "John" }' ruby = JSON.parse(json)  puts ruby # {"name" => "John"}  json = JSON.generate(ruby)  puts json # {"name":"John"}

E Go tem um par semelhante de métodos, chamado Unmarshal e Marshalmesmo que sua sintaxe seja um pouco mais detalhada:

byt := []byte(`{ "name": "John" }`)  var dat map[string]interface{}  if err := json.Unmarshal(byt, &dat); err != nil {     panic(err) }     fmt.Println(dat) // map[name:John]  mapD := map[string]string{"name": "John"} mapB, _ := json.Marshal(mapD) fmt.Println(string(mapB)) // {"name":"John"}

JSON é uma linguagem tão simples que os desenvolvedores acharam fácil criar uma variedade de ferramentas para suportá-la. Se você trabalha regularmente com dados JSON, vale a pena explorar as opções disponíveis para tornar sua vida o mais fácil possível.

Este artigo foi útil?
Gostei0Não Gostei0

Deixe um comentário

Are you sure want to unlock this post?
Unlock left : 0
Are you sure want to cancel subscription?
-
00:00
00:00
Update Required Flash plugin
-
00:00
00:00