Перейти к основному содержимому

parse_json

Преобразует строку в JSON значение.

подсказка

Все JSON функции и операторы перечислены в навигации и на обзорной странице

Ускорьте ваши запросы с помощью generated columns

Синтаксис

parse_json(string_expr)

Параметры

string_expr: выражение, представляющее строку. Поддерживаются только типы данных STRING, VARCHAR и CHAR.

Возвращаемое значение

Возвращает JSON значение.

Примечание: Если строка не может быть преобразована в стандартное JSON значение, функция PARSE_JSON возвращает NULL (см. Пример 5). Для получения информации о спецификациях JSON см. RFC 7159.

Примеры

Пример 1: Преобразование STRING значения 1 в JSON значение 1.

mysql> SELECT parse_json('1');
+-----------------+
| parse_json('1') |
+-----------------+
| "1" |
+-----------------+

Пример 2: Преобразование массива типа STRING в JSON массив.

mysql> SELECT parse_json('[1,2,3]');
+-----------------------+
| parse_json('[1,2,3]') |
+-----------------------+
| [1, 2, 3] |
+-----------------------+

Пример 3: Преобразование объекта типа STRING в JSON объект.

mysql> SELECT parse_json('{"star": "rocks"}');
+---------------------------------+
| parse_json('{"star": "rocks"}') |
+---------------------------------+
| {"star": "rocks"} |
+---------------------------------+

Пример 4: Создание JSON значения NULL.

mysql> SELECT parse_json('null');
+--------------------+
| parse_json('null') |
+--------------------+
| "null" |
+--------------------+

Пример 5: Если строка не может быть преобразована в стандартное JSON значение, функция PARSE_JSON возвращает NULL. В этом примере star не заключено в двойные кавычки ("). Поэтому функция PARSE_JSON возвращает NULL.

mysql> SELECT parse_json('{star: "rocks"}');
+-------------------------------+
| parse_json('{star: "rocks"}') |
+-------------------------------+
| NULL |
+-------------------------------+

Пример 6: Если JSON ключ содержит '.', например, 'a.1', он должен быть экранирован с помощью '\' или вам нужно заключить весь ключ вместе с двойными кавычками в одинарные кавычки.

mysql> select parse_json('{"b":4, "a.1": "1"}')->"a\\.1";
+--------------------------------------------+
| parse_json('{"b":4, "a.1": "1"}')->'a\\.1' |
+--------------------------------------------+
| "1" |
+--------------------------------------------+
mysql> select parse_json('{"b":4, "a.1": "1"}')->'"a.1"';
+--------------------------------------------+
| parse_json('{"b":4, "a.1": "1"}')->'"a.1"' |
+--------------------------------------------+
| "1" |
+--------------------------------------------+

Ключевые слова

parse_json, parse json