如何用JQ解析嵌套列表中的字典并生成指定格式输出?
JQ解决方案:提取嵌套JSON中的键与指定字段值
原始JSON结构
{ "a": [ [ { "p": "p1-value", "d": "d1-value" }, { "p": "p2-value", "d": "d2-value" } ], [ { "p": "p3-value", "d": "d3-value" } ] ], "z": [ [ { "p": "p1-value", "d": "d1-value" } ] ] }
期望输出格式
a p1-value a p2-value a p3-value z p1-value
可用的JQ命令
jq -r 'to_entries[] | .key as $k | .value[][] | "\($k) \(.p)"'
命令解释
to_entries[]:将顶层键值对转换为结构化条目,遍历每个条目.key as $k:将当前顶层键存入变量$k,便于后续复用.value[][]:连续展开两层嵌套数组,获取最内层的对象"\($k) \(.p)":拼接顶层键和对象的p字段值,-r参数确保输出为原始文本而非JSON字符串
内容的提问来源于stack exchange,提问作者ScaryAardvark
相关产品推荐
相关产品推荐

