我需要转换以下内容
输入:
{
"id-952": [
"serial-8915"
],
"id-546": [
"serial-5747",
"serial-8735"
]
期望的输出:
{
"serial-8915": ["id-952"],
"serial-5747": ["id-546"],
serial-8735": ["id-546"]
}
我的尝试,在jqplay:
keys, .[]
输出:
[
"id-546",
"id-952"
]
[
"serial-8915"
]
[
"serial-5747",
"serial-8735"
]
什么jq命令是合适的?
答案 0 :(得分:0)
最简单的强大(相对于jq版本)解决方案可能是:
to_entries | map( {(.key): .value} ) | add
这里的主要精妙之处在于.key
周围的一对括号。
答案 1 :(得分:0)
以下是另一种使用添加
的解决方案. as $d | [ keys[] | {($d[.][]): [.]} ] | add
或等效
. as $d | keys | map( {($d[.][]):[.]} ) | add