Como posso formatar um arquivo JSON, com todos os recuos corretos e tudo mais?

Eu tenho um arquivo JSON no CentOS onde todo o texto está na mesma linha. Como posso formatá-lo com todos os recuos corretos e tudo mais?

Comentários

  • Você poderia nos mostrar um arquivo de exemplo? Isso precisa ser automático? Caso contrário, basta carregá-lo em um editor de texto decente e fazê-lo manualmente (no emacs, selecione tudo e M-X indent-selection).
  • Dê uma olhada em jq. Também é muito útil se você deseja processar JSON.

Resposta

Use jq um processador JSON muito bom e de preferência pessoal, é o melhor disponível no mercado

apenas para impressão bonita, use

jq . file_name 

Comentários

  • O problema que tenho atualmente com jq é que ele é muito liberal. Eu basicamente quero apenas mudar os espaços em branco, mas em vez disso, ele muda coisas como 1.23e5 para 123000 e 0 para 0,0 e NaN para nulo e coisas assim. Por causa disso, não posso ' não confiar mais nele. Ele ' não é apenas um formatador, ' é também um desinfetante ao mesmo tempo, o que não é o que eu quero agora.

Resposta

Se você não quiser instalar um pacote adicional e ter o python disponível, você pode fazer:

python -m json.tool myfile.json 

Ele também suporta a leitura de STDIN

Resposta

Use o pacote yajl, Outra Biblioteca JSON. No CentOS 7, ele está localizado no repositório de base e provavelmente já está instalado na máquina.

Para imprimir um arquivo JSON:

cat myfile.json | json_reformat 

ou simplesmente

json_reformat < myfile.json 

Para verificar se um arquivo está na sintaxe JSON correta:

json_verify < myfile.json 

Comentários

  • instalar com sudo apt install yajl-tools no Ubuntu.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *