You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JSON键含短横线时调用JSON_EXTRACT报无效路径表达式错误的问询

JSON字段名含短横线引发JSON路径表达式错误的解决办法

当JSON字段名包含短横线这类特殊字符时,直接用$.字段名的格式调用JSON_EXTRACT会触发路径表达式错误,复现步骤如下:

create table tt (j1 json);
insert into tt values ('{"cache-size":10}'); -- 插入操作正常执行
select JSON_EXTRACT(j1,"$.cache-size") from tt;

执行查询后报错:

ERROR 3143 (42000): Invalid JSON path expression. The error is around character position 12.

修复方案

MySQL的JSON路径语法要求,包含短横线、空格等特殊字符的键名必须用双引号包裹,或者使用方括号加单引号的形式,两种有效写法如下:

写法一:双引号包裹特殊键名

select JSON_EXTRACT(j1, '$."cache-size"') from tt;

写法二:方括号索引语法

select JSON_EXTRACT(j1, '$["cache-size"]') from tt;

执行上述任意语句,都能正确提取出cache-size对应的值10。

内容的提问来源于stack exchange,提问作者kira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 01:06:19