In MySQL der JSON_PRETTY()
-Funktion bietet hübsches Drucken von JSON-Werten. Es gibt die JSON-Werte schön formatiert zurück, was es uns Menschen leichter macht, sie zu lesen.
Sie geben die JSON-Werte als Argument für die Funktion an. Die Funktion gibt dann diese Werte formatiert gemäß ihren Formatierungsregeln zurück.
Syntax
Die Syntax sieht so aus:
JSON_PRETTY(json_val)
Wobei json_val
ist der zu formatierende JSON-Wert. Dies muss ein JSON-Wert oder eine gültige Zeichenfolgendarstellung eines JSON-Werts sein. Wenn der Wert kein JSON-Dokument ist oder nicht als solches geparst werden kann, schlägt die Funktion mit einem Fehler fehl.
Beispiel 1 – Grundlegende Verwendung
Hier ist ein Beispiel zur Veranschaulichung.
SELECT JSON_PRETTY('{"a": 1, "b": 2, "c": 3}') Result;
Ergebnis:
+----------------------------------+ | Result | +----------------------------------+ | { "a": 1, "b": 2, "c": 3 } | +----------------------------------+
Der Schlüssel und der Wert eines Objektelements werden durch einen Doppelpunkt gefolgt von einem Leerzeichen getrennt (‘:
‘).
Ein Komma, das einzelne Objektmitglieder trennt, wird vor dem Zeilenumbruch gedruckt, der die beiden Elemente oder Mitglieder trennt.
Beispiel 2 – Arrays
Jedes Array-Element oder Objektmitglied erscheint in einer separaten Zeile, die im Vergleich zu seinem übergeordneten Element um eine zusätzliche Ebene eingerückt ist.
Ein Komma, das einzelne Array-Elemente trennt, wird vor dem Zeilenumbruch gedruckt, der die beiden Elemente oder Mitglieder trennt (wie bei Objekten).
Hier ist ein Beispiel für die Formatierung eines Arrays.
SELECT JSON_PRETTY('[1, 2, 3]') Result;
Ergebnis:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Hier ist ein Beispiel für zwei Arrays, eines in das andere verschachtelt.
SELECT JSON_PRETTY('[1, 2, [3, 4, 5]]') Result;
Ergebnis:
+-------------------------------------------+ | Result | +-------------------------------------------+ | [ 1, 2, [ 3, 4, 5 ] ] | +-------------------------------------------+
Beispiel 3 – Leere Objekte und Arrays
Leere Objekte und Arrays werden in einer einzigen Zeile gedruckt. Zwischen der öffnenden und der schließenden Klammer wird kein Leerzeichen gedruckt.
SELECT JSON_PRETTY('[1, 2, [], {}]') Result;
Ergebnis:
+--------------------------+ | Result | +--------------------------+ | [ 1, 2, [], {} ] | +--------------------------+
Beispiel 4 – Leerzeichen
Überflüssige Leerzeichen und Zeilenumbrüche in diesem Wert haben keine Auswirkung auf die Ausgabe.
SELECT JSON_PRETTY('[ 1 , 2 , 3]') Result;
Ergebnis:
+-------------------+ | Result | +-------------------+ | [ 1, 2, 3 ] | +-------------------+
Beispiel 5 – Einzüge
Jede Einrückungsebene fügt zwei führende Leerzeichen hinzu.
SET @data = '{"Person": {"Name": "Bart", "Age": 10, "Friends": ["Bart", "Milhouse"]}}'; SELECT JSON_PRETTY(@data) Result;
Ergebnis:
{ "Person": { "Age": 10, "Name": "Bart", "Friends": [ "Bart", "Milhouse" ] } }