14.17.2 Функции создания значений JSON
Функции, перечисленные в этом разделе, создают значения JSON из составных элементов.
-
Оценивает (возможно, пустой) список значений и возвращает массив JSON, содержащий эти значения.
mysql>
SELECT JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME());+---------------------------------------------+ | JSON_ARRAY(1, "abc", NULL, TRUE, CURTIME()) | +---------------------------------------------+ | [1, "abc", null, true, "11:30:24.000000"] | +---------------------------------------------+ -
JSON_OBJECT([key,val[,key,val] ...])Оценивает (возможно, пустой) список пар ключ-значение и возвращает объект JSON, содержащий эти пары. Возникает ошибка, если любое имя ключа является
NULLили количество аргументов нечетное.mysql>
SELECT JSON_OBJECT('id', 87, 'name', 'carrot');+-----------------------------------------+ | JSON_OBJECT('id', 87, 'name', 'carrot') | +-----------------------------------------+ | {"id": 87, "name": "carrot"} | +-----------------------------------------+ -
Приводит строку к значению JSON, заключая её в двойные кавычки и экранируя внутренние кавычки и другие символы, а затем возвращая результат в виде
utf8mb4строки. ВозвращаетNULL, если аргумент являетсяNULL.Эта функция обычно используется для создания допустимой JSON-строковой литералы для включения в документ JSON.
Некоторые специальные символы экранируются обратными слешами в соответствии с последовательностями экранирования, показанными в Таблице 14.23, «JSON_UNQUOTE() Специальные последовательности экранирования символов».
mysql>
SELECT JSON_QUOTE('null'), JSON_QUOTE('"null"');+--------------------+----------------------+ | JSON_QUOTE('null') | JSON_QUOTE('"null"') | +--------------------+----------------------+ | "null" | "\"null\"" | +--------------------+----------------------+ mysql>SELECT JSON_QUOTE('[1, 2, 3]');+-------------------------+ | JSON_QUOTE('[1, 2, 3]') | +-------------------------+ | "[1, 2, 3]" | +-------------------------+
Вы также можете получить значения JSON, преобразовав значения других типов к типу JSON, используя CAST(; см. Преобразование между JSON и значениями, не являющимися JSON для получения дополнительной информации. value AS
JSON)
Доступны две агрегатные функции, генерирующие значения JSON. JSON_ARRAYAGG() возвращает набор результатов как один массив JSON, а JSON_OBJECTAGG() возвращает набор результатов как один объект JSON. Дополнительная информация приведена в разделе 14.19 «Агрегатные функции».
© 2025 Oracle
Licensed under the GPLv2 License.