JSON_EXTRACT和方括号



我无法在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;

返回CCD_ 2。我尝试了许多变体,但没能找到合适的。

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

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

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

尝试:

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

这应该会返回

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

最新更新