我在我的表(MySQL数据库)一个JSON场。
以下是以下结构:
{
"article":{
"Key's 1":{
"value":"24"
}
"Key's of the something's 2":{
"value":"55"
}
}
}
我试图提取的“Key的1”中的“值”字段。
由于特殊的字符,如单引号和空间,我无法使用JSON_EXTRACT功能。
它给了错误:无效的JSON路径expression.This误差约为字符位置编号:10
我的查询:
select
JSON_EXTRACT(analytics_json,'$.article.Key\'s 1.value')As value
from
tbl_json_data;
即使在地方反斜杠,我收到了错误。
你可以逃避双引号每个JSON路径组件来处理特殊字符和空格。以下工作:
SELECT
JSON_EXTRACT(analytics_json,'$.article."Key''s 1".value') AS value
FROM tbl_json_data;
请注意,您的键名实际上有两个问题。首先,它包含一个单引号。我们可以通过只增加了一倍两个单引号处理的。键名也包含空格。通过在双引号逃逸我们可以解决这一问题,但它很可能是最好避免使用具有空格键JSON。