MariaDB
 sql >> база данни >  >> RDS >> MariaDB

MariaDB JSON_LOOSE() Обяснено

В 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'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MariaDB JSON_DETAILED() Обяснено

  2. 4 начина да получите съпоставяне на база данни в MariaDB

  3. Какво е новото в MySQL Galera Cluster 4.0

  4. Стимулиране на производителността в хибридна облачна настройка

  5. Как да преодолеем случайното изтриване на данни в MySQL и MariaDB