Hvordan kan jeg formatere en JSON-fil med alle riktige innrykk og alt?

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

  • Kan du vise oss en eksempelfil? Må dette være automatisk? Hvis ikke, er det bare å laste det inn i en anstendig tekstredigerer og gjøre det manuelt (i emacs, velg alt og M-X indent-selection).
  • Ta en titt på jq. Også veldig nyttig hvis du vil behandle JSON.

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.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *