Работа с JSON
Формат данных 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