Jeg har en JSON-fil på CentOS der all tekst er på samme linje. Hvordan kan jeg pent formatere det med alle riktige innrykk og alt?
Kommentarer
Svar
Bruk jq en veldig god JSON-prosessor og fra personlig preferanse, det er det beste som er tilgjengelig i markedet
for bare pen utskrift, bruk
jq . file_name
Kommentarer
- Problemet jeg har for øyeblikket med jq, er at det er veldig liberalt. Jeg vil i utgangspunktet bare at det skal endre mellomrom, men i stedet endrer det ting som 1.23e5 til 123000 og 0 til 0.0 og NaN til null og slike ting. På grunn av dette kan jeg ' ikke stole på det lenger. Det ' er ikke bare en formatering, det ' er også et desinfiseringsmiddel samtidig, noe som ikke er det jeg vil akkurat nå.
Svar
Hvis du ikke vil installere en ekstra pakke og har python tilgjengelig, kan du gjøre:
python -m json.tool myfile.json
Den støtter også lesing fra STDIN
Svar
Bruk pakken yajl
, Yet Another JSON Library. På CentOS 7 ligger den i baserepoen, og er sannsynligvis allerede installert på maskinen.
For å skrive ut en JSON-fil:
cat myfile.json | json_reformat
eller bare
json_reformat < myfile.json
For å bekrefte at en fil har riktig JSON-syntaks:
json_verify < myfile.json
Kommentarer
- installer med
sudo apt install yajl-tools
i Ubuntu.
M-X indent-selection
).jq
. Også veldig nyttig hvis du vil behandle JSON.