简体   繁体   English

mySql - 从对象数组中提取键

[英]mySql - extract key from array of objects

Given an array of jsons I want to extract a given key from object object给定一个 json 数组,我想从 object object 中提取给定的密钥

eg:例如:

extract 'Name' key提取“名称”键

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

My attempt我的尝试

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

returns null返回 null

Im using mysql 5.7.23我正在使用 mysql 5.7.23

You just need square bracketed notation such as '$[*].Name' while formatting the second argument as JSON value is nested within them在将第二个参数格式化为 JSON 值嵌套在其中时,您只需要方括号符号,例如'$[*].Name'

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

Demo 演示

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM