元素中带分号的MySQL JSON路径

元素中带分号的MySQL JSON路径,mysql,json,Mysql,Json,如果我有这样一个JSON文档: { "foo": "bar", "foo:oo": "bar2" } 我可以通过以下方式访问“foo”属性: 但是,如果我尝试访问名为“foo:oo”的属性,如下所示: 我得到以下错误: 无效的JSON路径表达式。错误出现在字符位置8附近。 如何访问具有分号的属性 SELECT col->"$foo:oo" // Should output "bar2", but triggers an error 您缺少一个点: 选择col->“$.foo:o

如果我有这样一个JSON文档:

{
  "foo": "bar",
  "foo:oo": "bar2"
}
我可以通过以下方式访问“foo”属性:

但是,如果我尝试访问名为“foo:oo”的属性,如下所示:

我得到以下错误:

无效的JSON路径表达式。错误出现在字符位置8附近。

如何访问具有分号的属性

SELECT col->"$foo:oo" // Should output "bar2", but triggers an error
您缺少一个点:

选择col->“$.foo:oo”

我在在线mysql环境中实现了这一点:

CREATE TABLE t1 (sentence JSON);
INSERT INTO t1 VALUES('{"foo": "bar", "foo:oo": "bar2"}');    
SELECT sentence ->> '$."foo:oo"' FROM t1;
您缺少一个点:

选择col->“$.foo:oo”

我在在线mysql环境中实现了这一点:

CREATE TABLE t1 (sentence JSON);
INSERT INTO t1 VALUES('{"foo": "bar", "foo:oo": "bar2"}');    
SELECT sentence ->> '$."foo:oo"' FROM t1;

我很抱歉。这是我帖子上的一个打字错误。我在用圆点。编辑好了,可以用了。你试过括号符号$.['foo:oo']吗?它可能被“:”弄糊涂了。注意:如果单引号无效,我也会尝试双引号。更新了我的答案。对不起。这是我帖子上的一个打字错误。我在用圆点。编辑好了,可以用了。你试过括号符号$.['foo:oo']吗?它可能被“:”弄糊涂了。注意:如果单引号无效,我也会尝试双引号。更新了我的答案。
CREATE TABLE t1 (sentence JSON);
INSERT INTO t1 VALUES('{"foo": "bar", "foo:oo": "bar2"}');    
SELECT sentence ->> '$."foo:oo"' FROM t1;