访问包含冒号和连字符的JSON密钥

Al *_*ndy 7 mysql json

MySQL表格具有以下格式:

CREATE TABLE bar...
   ...
   foo JSON
   ...
Run Code Online (Sandbox Code Playgroud)

该字段foo包含以下内容:

{"#:8": 0.90189, "#:34": 0.90239, "#:55": 0.90238, "#:144": 0.90219, "X:21-34": -1}
Run Code Online (Sandbox Code Playgroud)

此命令失败:

SELECT foo FROM bar WHERE foo->'$.X:21-34' != 0;
Run Code Online (Sandbox Code Playgroud)

错误(4,1):无效的JSON路径表达式.错误在字符位置9附近.

如何访问键名中有一些特殊字符但JSON字符串仍然有效的字段?

Al *_*ndy 13

我的天啊.这很简单也很合乎逻辑.这是解决方案:

SELECT foo FROM bar WHERE foo->'$."X:21-34"' != 0;
Run Code Online (Sandbox Code Playgroud)

我必须在密钥名称周围使用双引号.