如何使用JQ将JSON嵌套结构中的id值提取为数组?
使用JQ提取ID并整理为数组格式
输入数据
{ "list": { "1": { "attributes": { "content": [], "pageable": { "pageNumber": 0, "pageSize": 10 } } }, "2": { "attributes": { "content": [ { "id": "AZER" } ], "pageable": { "pageNumber": 0, "pageSize": 10 } } }, "3": { "attributes": { "content": [ { "id": "WXC" }, { "id": "QSD" } ], "pageable": { "pageNumber": 0, "pageSize": 10 } } } } }
当前尝试
执行命令:
jq '.list[] | .attributes.content[].id' input.json
得到结果:
"AZER" "WXC" "QSD"
需求
需要将提取出的ID整理为标准JSON数组格式:
["AZER","WXC","QSD"]
解决方案
只需将原命令的结果用方括号[]包裹,让JQ把所有输出值收集为一个数组:
jq '[.list[] | .attributes.content[].id]' input.json
执行结果
["AZER","WXC","QSD"]
内容的提问来源于stack exchange,提问作者antho.dev
相关产品推荐
相关产品推荐

