Работа с JSON
Статья создана
Обновлена 15 февраля 2024 г.
Формат данных JSON
Базовые операции с данными в этом формате:
- Проверить существование объекта
name
. - Получить значение объекта
age
. - Запросить данные из объекта.
$json = CAST(@@{
"friends": [
{
"name": "James Holden",
"age": 35
},
{
"name": "Naomi Nagata",
"age": 30
}
]
}@@ AS Json);
SELECT
JSON_EXISTS($json, "$.friends[*].name"), -- Проверка существования объекта name,
JSON_VALUE($json, "$.friends[0].age"), -- получение значения объекта age,
JSON_QUERY($json, "$.friends[0]"); -- запрос на получение данных из объекта.
Рассмотрите пример в блоке справа и нажмите кнопку
Результат выполнения запроса отобразится на вкладке Результат в виде таблицы или схемы.
Экранирование кавычек в JSON
Рассмотрим пример c двумя возможными вариантами добавления JSON-строки в таблицу:
UPSERT INTO test_json(id, json_string)
VALUES
(1, Json(@@[{"name":"Peter \"strong cat\" Kourbatov"}]@@)),
(2, Json('[{"name":"Peter \\\"strong cat\\\" Kourbatov"}]'))
;
Для вставки значения в первой строке используется raw string
и способ экранирования с помощью \"
. Для вставки второй строки используется экранирование через \\\"
.
Мы рекомендуем применять raw string
и способ экранирования с помощью \"
, так как он более нагляден.
Смотрите также
- Оператор SELECT
. - Функция JSON_EXISTS
. - Функция JSON_VALUE
. - Функция JSON_QUERY
. - Функции для работы с JSON
.