JSON: Unterschied zwischen den Versionen
Codica (Diskussion | Beiträge) Markierungen: Mobile Bearbeitung Mobile Web-Bearbeitung |
Codica (Diskussion | Beiträge) Markierungen: Mobile Bearbeitung Mobile Web-Bearbeitung |
||
Zeile 47: | Zeile 47: | ||
* https://www.npmjs.com/package/fast-json-patch | * https://www.npmjs.com/package/fast-json-patch | ||
* https://github.com/sonnyp/JSON8/tree/main/packages/patch | * https://github.com/sonnyp/JSON8/tree/main/packages/patch | ||
+ | * https://www.npmjs.com/package/rfc6902 | ||
* https://github.com/cujojs/jiff | * https://github.com/cujojs/jiff | ||
* [https://github.com/Starcounter-Jack/JSON-Patch Javascript-Implementierung von JsonPatch] | * [https://github.com/Starcounter-Jack/JSON-Patch Javascript-Implementierung von JsonPatch] |
Version vom 16. Januar 2023, 21:53 Uhr
Allgemeines
Siehe auch
Auswertung in der Shell
mit Hilfe von jq
Mit dem Paket jq
gibt es ein Tool zur Auswertung von JSON auf der Kommandozeile:
echo '{"error":{"code":"assertuserfailed","info":"Assertion that the user is logged in failed"}}' | jq -r '.error.code'
erzeugt
assertuserfailed
Siehe
mit Hilfe von Miller (mlr)
Siehe https://miller.readthedocs.io/en/latest/
mit Hilfe von Visidata
Visidata ist ein Datenviewer mit einer Text-Benutzeroberfläche (TUI) im Terminal.
Siehe
Schöne Ausgabe auf Kommandozeile
Um eine für den Menschen leicht lesbare Ausgabe von JSON zu haben, kann man das mit Python mitgelieferte Skript json.tool
nutzen:
echo '{"error":{"code":"assertuserfailed","info":"Assertion that the user is logged in failed"}}' | python -m json.tool
Ausgabe:
{ "error": { "code": "assertuserfailed", "info": "Assertion that the user is logged in failed" } }
Änderungen von JSON-Data
JsonPatch ist ein JSON-Datenformat zur Darstellung von Änderungen an einem JSON-Datentyp. Siehe dazu auch
- https://www.npmjs.com/package/fast-json-patch
- https://github.com/sonnyp/JSON8/tree/main/packages/patch
- https://www.npmjs.com/package/rfc6902
- https://github.com/cujojs/jiff
- Javascript-Implementierung von JsonPatch
- http://jsonpatchjs.com/
- RFC6902
- https://jsonpatch.com/
Eine rudimentäre Implementierung gibt es auch für Postgres:
Mit JsonWatch können Änderungen eines JSON-Datentyps auf einer URL regelmäßig überwacht werden. Die Änderungen werden als JSON-Änderungen ausgegeben.
Abfragen von JSON
JSONAPI
Basierend auf REST-Abfragen wurde die JSONAPI entwickelt.
GraphQL
Abweichend von REST hat Facebook einen Standard für Datenabfragen namens GraphQL entwickelt. Dafür gibt es eine Vielzahl von Adaptern, z.B.
- Hasura - ein Open Source Layer, der Abfragen in GraphQL auf eine Postgres-Datenbank übersetzt.
JSONPath
- https://restfulapi.net/json-jsonpath/
- https://www.baeldung.com/guide-to-jayway-jsonpath
- https://github.com/json-path/JsonPath
MS Access und JSON
Microsoft Access 2010 unterstützt von sich aus keinen JSON-Export.
Es gibt jedoch ein kleines Tool, um ganze Datenbanken aus MS Access nach JSON zu exportieren. Das ist aber kein dynamischer Prozess. Bei Änderung der Datenbank muss die Datenbank auch wieder im Ganzen exportiert werden.