В MariaDB, JSON_QUOTE()
е вградена функция, която произвежда валиден JSON низов литерал, който може да бъде включен в JSON документ.
Той обвива низа със знаци с двойни кавички и избягва вътрешните кавички и други специални знаци, връщайки низ utf8mb4.
Синтаксис
Синтаксисът е така:
JSON_QUOTE(json_value)
Пример
Ето пример за демонстрация.
SELECT JSON_QUOTE('Small') AS 'Result';
Резултат:
+---------+ | Result | +---------+ | "Small" | +---------+
Escape символи
В допълнение към обвиването на низа в двойни кавички, JSON_QUOTE()
също така избягва вътрешните кавички и други специални знаци.
Пример:
SELECT JSON_QUOTE('By "small", she meant "tiny"') AS 'Result';
Резултат:
+------------------------------------+ | Result | +------------------------------------+ | "By \"small\", she meant \"tiny\"" | +------------------------------------+
В този случай оригиналният низ съдържа двойни кавички и така полученият низ избягва всяка двойна кавичка с обратна наклонена черта.
Ако двойните кавички не бяха изключени, те ще пречат на външните двойни кавички и неволно ще прекратят низа рано.
JSON обекти
Ето пример за цитиране на низово представяне на JSON обект:
SELECT JSON_QUOTE('{ "name": "Brandy"}');
Резултат:
+-----------------------------------+ | JSON_QUOTE('{ "name": "Brandy"}') | +-----------------------------------+ | "{ \"name\": \"Brandy\"}" | +-----------------------------------+
Масиви
Ето пример за цитиране на низово представяне на масив:
SELECT JSON_QUOTE('[ "Small", "Medium", "Large" ]');
Резултат:
+----------------------------------------------+ | JSON_QUOTE('[ "Small", "Medium", "Large" ]') | +----------------------------------------------+ | "[ \"Small\", \"Medium\", \"Large\" ]" | +----------------------------------------------+
Числа
Предаването на число връща NULL
:
SELECT JSON_QUOTE(10) AS 'Result';
Резултат:
+--------+ | Result | +--------+ | NULL | +--------+
Номерът трябва да бъде предоставен като низ. След това ще бъде върнат като низ в кавички.
Пример:
SELECT JSON_QUOTE('10') AS 'Result';
Резултат:
+--------+ | Result | +--------+ | "10" | +--------+
Нулеви аргументи
Ако аргументът е NULL
, резултатът е NULL
:
SELECT JSON_QUOTE(null);
Резултат:
+------------------+ | JSON_QUOTE(null) | +------------------+ | NULL | +------------------+
Неправилен брой параметри
Извикване на JSON_QUOTE()
без аргумент води до грешка:
SELECT JSON_QUOTE();
Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_QUOTE'
Същото е, когато предоставите твърде много аргументи:
SELECT JSON_QUOTE('a', 'b');
Резултат:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'JSON_QUOTE'
Още примери
MariaDB JSON_QUOTE()
работи по същия начин като MySQL функцията със същото име. Вижте JSON_QUOTE()
– Как да избягвате символи в низове, използвани като JSON стойности в MySQL за повече примери.