Einige Lösungen zur Auswahl:
json
json ist ein schnelles CLI-Tool zur Arbeit mit JSON. Es ist ein einzelnes node.js-Skript ohne externe Abhängigkeiten (außer node.js
selbst).
$ echo '{"type":"Bar","id":"1","title":"Foo"}' | json
{
"type": "Bar",
"id": "1",
"title": "Foo"
}
Erforderlich:
# npm install -g json
json_pp: Befehlsdienstprogramm für die Decodierung/Encodierung von JSON in Linux-Systemen verfügbar
echo '{"type":"Bar","id":"1","title":"Foo"}' | json_pp -json_opt pretty,canonical
{
"id" : "1",
"title" : "Foo",
"type" : "Bar"
}
Sie möchten mögleicherweise das Argument -json_opt pretty,canonical
beibehalten, um eine vorhersehbare Reihenfolge zu gewährleisten.
jq: Leichtgewichtiger und flexibler JSON-Verarbeitungsbefehlszeilenprozessor. Er ist in plattformunabhängigem C geschrieben und hat keine Laufzeitabhängigkeiten.
echo '{"type":"Bar","id":"1","title":"Foo"}' | jq '.'
{
"type": "Bar",
"id": "1",
"title": "Foo"
}
Das einfachste jq
-Programm ist der Ausdruck .
, der die Eingabe nimmt und sie unverändert als Ausgabe produziert.
Weitere jq
-Optionen finden Sie im Handbuch
python yq yq: Befehlszeilen YAML/XML/TOML-Prozessor - jq Wrapper für YAML-, XML- und TOML-Dokumente
$ echo '{"type":"Bar","id":"1","title":"Foo"}' | yq
{
"type": "Bar",
"id": "1",
"title": "Foo"
}
Die go-Version go yq funktioniert hier nicht
Mit xidel Befehlszeilentool zum Herunterladen und Extrahieren von Daten aus HTML/XML-Seiten oder JSON-APIs, unter Verwendung von CSS, XPath 3.0, XQuery 3.0, JSONiq oder Musterabgleich. Es kann auch neue oder transformierte XML/HTML/JSON-Dokumente erstellen.
$ echo '{"type":"Bar","id":"1","title":"Foo"}' | xidel -e '$json'
{
"type": "Bar",
"id": "1",
"title": "Foo"
}
mit python:
echo '{"type":"Bar","id":"1","title":"Foo"}' | python -m json.tool
{
"id": "1",
"title": "Foo",
"type": "Bar"
}
mit nodejs und bash:
echo '{"type":"Bar","id":"1","title":"Foo"}' | node -p "JSON.stringify( JSON.parse(require('fs').readFileSync(0) ), 0, 1 )"
{
"type": "Bar",
"id": "1",
"title": "Foo"
}