我的表(MySQL 数据库)中有一个 json 字段。
结构如下:
{
"article":{
"Key's 1":{
"value":"24"
}
"Key's of the something's 2":{
"value":"55"
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试提取“Key's 1”的“值”字段。
由于单引号和空格等特殊字符,我无法使用 JSON_EXTRACT 函数。
它给出错误:无效的 JSON 路径表达式。此错误位于字符位置 no : 10 附近
我的查询:
select
JSON_EXTRACT(analytics_json,'$.article.Key\'s 1.value')As value
from
tbl_json_data;
Run Code Online (Sandbox Code Playgroud)
即使在放置反斜杠之后,我也会收到错误。
您可以用双引号转义每个 JSON 路径组件以处理特殊字符和空格。以下作品:
SELECT
JSON_EXTRACT(analytics_json,'$.article."Key''s 1".value') AS value
FROM tbl_json_data;
Run Code Online (Sandbox Code Playgroud)
请注意,您的键名实际上有两个问题。首先,它包含一个单引号。我们可以通过将两个单引号加倍来解决这个问题。键名还包含空格。通过用双引号转义,我们可以解决这个问题,但最好避免使用带有空格的 JSON 键。
| 归档时间: |
|
| 查看次数: |
2891 次 |
| 最近记录: |