mySql - 从对象数组中提取键

mySql - extract key from array of objects

给定一个 json 数组,我想从对象对象中提取给定的键

例如:

提取'Name'密钥

'[{"Name": "Homer", "Age": 39}, {"Name": "Marge", "Age": 40}]' --->["Homer" , "Marge"]

我的尝试

SELECT JSON_EXTRACT('[{"Name": "Homer", "Age": 39}, 
                      {"Name": "Marge", "Age": 40}]','$.Name');

returns 空

我正在使用 mysql 5.7.23

您只需要方括号符号,例如 '$[*].Name',同时将第二个参数格式化为 JSON 值嵌套在其中

SELECT JSON_EXTRACT('[{"Name": "Homer", "Age": 39}, 
                      {"Name": "Marge", "Age": 40}]','$[*].Name') AS names

Demo