Mysql
 sql >> Datenbank >  >> RDS >> Mysql

JSON_PRETTY() – Formatieren Sie JSON-Dokumente für eine einfachere Lesbarkeit in MySQL

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"
    ]
  }
}