Hur kan jag formatera en JSON-fil med alla rätta indrag och allt?

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

  • Kan du visa oss en exempelfil? Behöver detta vara automatiskt? Om inte, ladda det bara i en ordentlig textredigerare och gör det manuellt (i emacs, välj allt och M-X indent-selection).
  • Ta en titt på jq. Också mycket praktiskt om du vill bearbeta JSON.

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.

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *