Ik heb een JSON-bestand op CentOS waar alle tekst op dezelfde regel staat. Hoe kan ik het mooi opmaken met alle juiste inspringingen en zo?
Opmerkingen
Antwoord
Gebruik jq een zeer goede JSON-processor en naar persoonlijke voorkeur de beste die op de markt verkrijgbaar is
voor gewoon mooie afdrukken, gebruik
jq . file_name
Reacties
- Het probleem dat ik momenteel heb met jq, is dat het erg liberaal is. Ik wil eigenlijk gewoon dat het witruimten verandert, maar in plaats daarvan verandert het dingen als 1.23e5 naar 123000 en 0 naar 0.0 en NaN naar null en dergelijke dingen. Hierdoor kan ik ' het niet meer vertrouwen. Het ' is niet alleen een formatter, het ' is tegelijkertijd ook een ontsmettingsmiddel, wat ik nu niet wil.
Answer
Als je geen extra pakket wilt installeren en Python beschikbaar hebt, kun je het volgende doen:
python -m json.tool myfile.json
Het ondersteunt ook het lezen van STDIN
Answer
Gebruik het pakket yajl
, Yet Another JSON Library. Op CentOS 7 bevindt het zich in de basisopslagplaats en is het hoogstwaarschijnlijk al op de machine geïnstalleerd.
Om een JSON-bestand mooi af te drukken:
cat myfile.json | json_reformat
of gewoon
json_reformat < myfile.json
Om te controleren of een bestand de juiste JSON-syntaxis heeft:
json_verify < myfile.json
Reacties
- installeren met
sudo apt install yajl-tools
in Ubuntu.
M-X indent-selection
).jq
. Ook erg handig als je JSON wilt verwerken.