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
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.
M-X indent-selection
).jq
. Também é muito útil se você deseja processar JSON.