[英]How do I transform this JSON data using JQ to extract each nested array element to the top level in turn?
给定表单输入
[
{"a": 1, "b": [{"c": 1}, {"c": 2}]},
{"a": 2, "b": [{"c": 4}, {"c": 5}]}
]
我正在尝试转换为:
[
{"a": 1, "b": [{"c": 1}],
{"a": 1, "b": [{"c": 2}],
{"a": 2, "b": [{"c": 3}],
{"a": 2, "b": [{"c": 4}]
]
我有[map(.b) ] | flatten
[map(.b) ] | flatten
,但是似乎不可能使用父上下文进行任何进一步的操作。 我真的被困住了,希望得到任何帮助。
谢谢
这是一个简单的解决方案,除了“b”之外没有提及任何键:
map(. + (.b[] | {b: [.]}))
你可以试试这个过滤器:
jq 'map({a,"b":.b[]|[.]})' file
它分别用c
每个值更新b
的内容。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.