MariaDB
 sql >> Datenbank >  >> RDS >> MariaDB

MariaDB JSON_LOOSE() erklärt

In MariaDB, JSON_LOOSE() ist eine integrierte Funktion, die einem JSON-Dokument Leerzeichen hinzufügt, um es besser lesbar zu machen.

Es ähnelt dem JSON_DETAILED() Funktion, außer dass verschachtelte Strukturen nicht so betont werden wie JSON_DETAILED() tut.

Verwenden Sie für den gegenteiligen Effekt (d. h. um unnötige Leerzeichen zu entfernen) JSON_COMPACT() Funktion.

Syntax

Die Syntax lautet wie folgt:

JSON_LOOSE(json_doc) 

Wobei json_doc ist das JSON-Dokument.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung.

SET @json = '{"name":"Wag","type":"Dog"}';

SELECT JSON_LOOSE(@json); 

Ergebnis:

+-------------------------------+| JSON_LOOSE(@json) |+-------------------------------+| {"Name":"Wag", "Typ":"Hund"} |+------------------------------- -+

Das Originaldokument enthält keine Leerzeichen, sondern das Ergebnis von JSON_LOOSE() enthält Leerzeichen..

Hier wird es noch einmal mit dem Originaldokument verglichen:

SET @json = '{"name":"Wag","type":"Dog"}';

SELECT 
    @json AS 'Original',
    JSON_LOOSE(@json) AS 'Modified'; 

Ergebnis:

+-------------------------------------+---------------- ----------------+| Original | Geändert |+-------------------------------------+---------------- ---------------+| {"name":"Wag","type":"Hund"} | {"Name":"Wag", "Typ":"Hund"} |+--------------------------------------+- -------------------------------+

Objekte und Arrays

Hier ist ein Beispiel mit einem Objekt und einem Array, nur um zu zeigen, dass es keine zusätzliche Formatierung für solche Strukturen bietet.

SET @json = '{"specs":{"w":10,"h":30},"scores":[1,2,3]}';

SELECT JSON_LOOSE(@json); 

Ergebnis:

+---------------------------------------------- ------+| JSON_LOOSE(@json) |+-------------------------------------------------- ---------+| {"specs":{"w":10, "h":30}, "scores":[1, 2, 3]} |+---------------- -----------------------------------+

Wenn Sie eine zusätzliche Formatierung für diese Strukturen benötigen, versuchen Sie es mit JSON_DETAILED() Funktion.

Null-Argument

Wenn das Argument NULL ist , ist das Ergebnis NULL :

SELECT JSON_LOOSE(null); 

Ergebnis:

+------------------+| JSON_LOOSE(null) |+------------------+| NULL |+------------------+

Falsche Parameteranzahl

Wenn Sie keine Argumente angeben, wird ein Fehler ausgegeben:

SELECT JSON_LOOSE(); 

Ergebnis:

FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion „JSON_LOOSE“

Das Gleiche gilt, wenn Sie zu viele Argumente angeben:

SELECT JSON_LOOSE('{"a":1}', 2); 

Ergebnis:

FEHLER 1582 (42000):Falsche Parameteranzahl im Aufruf der nativen Funktion „JSON_LOOSE“