В MariaDB, JSON_LOOSE() е вградена функция, която добавя интервали към JSON документ, за да го направи по-четлив.
Той е подобен на JSON_DETAILED() функция, с изключение на това, че не подчертава вложените структури по начина, по който JSON_DETAILED() прави.
За обратния ефект (т.е. за премахване на ненужни интервали), използвайте JSON_COMPACT() функция.
Синтаксис
Синтаксисът е така:
JSON_LOOSE(json_doc)
Където json_doc е JSON документът.
Пример
Ето пример за демонстрация.
SET @json = '{"name":"Wag","type":"Dog"}';
SELECT JSON_LOOSE(@json); Резултат:
+--------------------------------+
| JSON_LOOSE(@json) |
+--------------------------------+
| {"name": "Wag", "type": "Dog"} |
+--------------------------------+
Оригиналният документ не съдържа интервали, а резултатът от JSON_LOOSE() съдържа интервали..
Тук отново се сравнява с оригиналния документ:
SET @json = '{"name":"Wag","type":"Dog"}';
SELECT
@json AS 'Original',
JSON_LOOSE(@json) AS 'Modified';SET @json = '{"specs":{"w":10,"h":30},"scores":[1,2,3]}';
SELECT JSON_LOOSE(@json); Резултат:
+----------------------------------------------------+
| JSON_LOOSE(@json) |
+----------------------------------------------------+
| {"specs": {"w": 10, "h": 30}, "scores": [1, 2, 3]} |
+----------------------------------------------------+
Ако имате нужда от допълнително форматиране за тези структури, опитайте JSON_DETAILED() функция.
Нулев аргумент
Ако аргументът е NULL , резултатът е NULL :
SELECT JSON_LOOSE(null); Резултат:
+------------------+ | JSON_LOOSE(null) | +------------------+ | NULL | +------------------+
Неправилен брой параметри
Предоставянето на без аргументи води до грешка:
SELECT JSON_LOOSE(); Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_LOOSE'
Същото е, когато предоставите твърде много аргументи:
SELECT JSON_LOOSE('{"a":1}', 2); Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_LOOSE'