Mam plik JSON na CentOS, w którym cały tekst znajduje się w tym samym wierszu. Jak mogę ładnie sformatować go z wszystkimi poprawnymi wcięciami i wszystkim?
Komentarze
Odpowiedź
Użyj jq bardzo dobry procesor JSON i według osobistych preferencji jest to najlepszy dostępny na rynku
do ładnego wydruku, użyj
jq . file_name
Komentarze
- Obecnie mam problem z jq, ponieważ jest bardzo liberalny. Po prostu chcę, żeby zmieniło białe spacje, ale zamiast tego zmienia rzeczy takie jak 1.23e5 na 123000 i 0 na 0.0 i NaN na null i takie rzeczy. Z tego powodu nie mogę już ' mu ufać. To ' to nie tylko program do formatowania, ale ' jest jednocześnie środkiem odkażającym, co nie jest tym, czego teraz chcę.
Odpowiedź
Jeśli nie chcesz instalować dodatkowego pakietu i masz dostępny Python, możesz zrobić:
python -m json.tool myfile.json
Obsługuje również odczyt ze standardu STDIN
Odpowiedź
Użyj pakietu yajl
, Yet Another JSON Library. W CentOS 7 znajduje się on w repozytorium podstawowym i najprawdopodobniej jest już zainstalowany na komputerze.
Aby ładnie wydrukować plik JSON:
cat myfile.json | json_reformat
lub po prostu
json_reformat < myfile.json
Aby sprawdzić, czy plik ma poprawną składnię JSON:
json_verify < myfile.json
Komentarze
- zainstaluj za pomocą
sudo apt install yajl-tools
w Ubuntu.
M-X indent-selection
).jq
. Bardzo przydatny, jeśli chcesz przetwarzać JSON.