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:
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“