Hvordan kan jeg smukt formatere en JSON-fil med alle de korrekte indrykninger og alt?

Jeg har en JSON-fil på CentOS, hvor al tekst er på samme linje. Hvordan kan jeg formatere det med alle de korrekte indrykninger og alt?

Kommentarer

  • Kunne du vise os en eksempelfil? Skal dette ske automatisk? Hvis ikke, skal du bare indlæse det i en anstændig teksteditor og gøre det manuelt (i emacs skal du vælge alt og M-X indent-selection).
  • Se på jq. Også meget praktisk, hvis du vil behandle JSON.

Svar

Brug jq en meget god JSON-processor og fra personlig præference, den er den bedste tilgængelige på markedet

til bare smuk udskrivning, brug

jq . file_name 

Kommentarer

  • Problemet jeg har i øjeblikket med jq er, at det er meget liberalt. Jeg vil dybest set bare have det til at ændre mellemrum, men i stedet ændrer det ting som 1.23e5 til 123000 og 0 til 0.0 og NaN til null og sådanne ting. På grund af dette kan jeg ' ikke stole på det længere. Det ' er ikke kun en formatering, det ' er også en desinficeringsmiddel på samme tid, hvilket ikke er, hvad jeg vil lige nu.

Svar

Hvis du ikke vil installere en ekstra pakke og har python tilgængelig, kan du gøre:

python -m json.tool myfile.json 

Det understøtter også læsning fra STDIN

Svar

Brug pakken yajl, endnu et JSON-bibliotek. På CentOS 7 er det placeret i baserepoen og er sandsynligvis allerede installeret på maskinen.

For at udskrive en JSON-fil pænt:

cat myfile.json | json_reformat 

eller blot

json_reformat < myfile.json 

For at kontrollere, at en fil er i den korrekte JSON-syntaks:

json_verify < myfile.json 

Kommentarer

  • installer med sudo apt install yajl-tools i Ubuntu.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *