Jag har en JSON-fil på CentOS där all text är på samma rad. Hur kan jag formatera det med alla rätta indrag och allt?
Kommentarer
Svara
Använd jq en mycket bra JSON-processor och från personlig preferens, det är det bästa som finns på marknaden
för bara vackert tryck, använd
jq . file_name
Kommentarer
- Problemet jag för närvarande har med jq är att det är mycket liberalt. Jag vill i princip bara att det ändrar mellanslag, men istället ändrar det saker som 1.23e5 till 123000 och 0 till 0.0 och NaN till null och sådana saker. På grund av detta kan jag ' inte lita på det längre. Det ' är inte bara en formaterare, det ' är också en desinfektionsmedel samtidigt, vilket inte är vad jag vill just nu.
Svar
Om du inte vill installera ett extra paket och har python tillgängligt kan du göra:
python -m json.tool myfile.json
Den stöder också läsning från STDIN
Svar
Använd paketet yajl
, Ännu ett JSON-bibliotek. På CentOS 7 ligger det i basrepet och är troligtvis redan installerat på maskinen. För att vackert skriva ut en JSON-fil:
cat myfile.json | json_reformat
eller helt enkelt
json_reformat < myfile.json
För att verifiera att en fil har rätt JSON-syntax:
json_verify < myfile.json
Kommentarer
- installera med
sudo apt install yajl-tools
i Ubuntu.
M-X indent-selection
).jq
. Också mycket praktiskt om du vill bearbeta JSON.