JSON_EXTRACT和方括号

时间:2018-07-12 21:25:13

标签: mysql json

我无法在(JSON)记录上使用(mysql)JSON_EXTRACT,例如:

[{"id": 156, "betas": [{"id": 324, "title": "mario", "gammas": [{"id": 190, "path": "file.png"}]}]}]

尤其是我无法进入最里面的方括号:

SELECT JSON_EXTRACT(main, '$[0].betas.$[0]') FROM mydb.mytable;

返回NULL。我尝试了多种变体,但未能获得正确的变体。

我注意到SELECT JSON_EXTRACT(main, '$[0].betas') ...返回

[{"id": 324, "title": "mario", "gammas": [{"id": 190, "path": "file.png"}]}]  

1 个答案:

答案 0 :(得分:1)

$指的是JSON对象的根,将$[0]放在路径中间没有意义。

尝试:

SELECT JSON_EXTRACT[main, '$[0].betas[0] FROM mydb.mytable

这应该返回

{"id": 324, "title": "mario", "gammas": [{"id": 190, "path": "file.png"}]}