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
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.
M-X indent-selection
).jq
. Også meget praktisk, hvis du vil behandle JSON.