非常简单的问题,我找不到解决方案。
我有一个简单的 JSON 字符串:
{
"A/B/C":"Random value"
}
它存储在 MySQL 数据库中。 我正在尝试使用JSON_EXTRACT
来检索数据。
SELECT
JSON_EXTRACT(`json_data`, "$.A/B/C") AS 'A/B/C'
FROM `MyTable`
WHERE 1
这当然会由于斜杠而引发错误。 如何在不从原始 JSON 中删除斜杠的情况下使用斜杠进行查询?
您可以通过用双引号引用键名来获得所需的结果;这是必需的,因为它包含非法路径字符(请参阅手册(。这意味着您需要将整个路径括在单引号中:
SET @json = '{
"A/B/C":"Random value"
}'
;
SELECT JSON_EXTRACT(@json, '$."A/B/C"') AS 'A/B/C'
输出:
A/B/C
"Random value"
在 dbfiddle 上演示