这是我第一次在MySQL中使用一个表,其中一些字段包含JSON。
我试图使用json_table函数,以便在关系脚本中使用json数据。关于json_table的所有指南都给出了这种示例语法:
SELECT people.*
FROM t1,
JSON_TABLE(json_col, '$.people[*]'
COLUMNS (
name VARCHAR(40) PATH '$.name',
address VARCHAR(100) PATH '$.address')
) people;我的问题是,存储在表中的json数据如下所示:
[{"name":"cdennett","address":"123 street","Postcode":"ABCDE"}]但是,从所有的json数据示例中,我可以发现它应该如下所示:
["people": {"name":"cdennett","address":"123 street","Postcode":"ABCDE"}]我已经尽力了,但每次都会收到一条错误消息,大概是因为我没有在我的语法中指定json_col之后的数组(‘json_col’)。但我想我没有这个。有人能帮忙吗?
发布于 2019-06-24 16:38:30
您在JSON_TABLE函数上的操作是错误的。你想要'$*'而不是$.people*'
SELECT people.*
FROM t1,
JSON_TABLE(json_col, '$[*]'
COLUMNS (
name VARCHAR(40) PATH '$.name',
address VARCHAR(100) PATH '$.address')
) people;https://stackoverflow.com/questions/56722748
复制相似问题