我有一个嵌套的json对象,像这样:
{
"results": {
"category_a": {
"types": {
"type_a": {},
"type_b": {},
"type_c": {}
}
},
"category_b": {
"types": {
"type_y": {},
"type_z": {}
}
}
}
}
我想将其压缩为一个更简单的嵌套对象:
{
"category_a": [
"type_a",
"type_b",
"type_c"
],
"category_b": [
"type_y",
"type_z"
]
}
这是我到目前为止所拥有的,与我想要的接近:
.results
| to_entries[]
| {
(.key): [
.value.types | keys[]
]
}
除了输出是面向行的,而不是单个对象:
{
"category_a": [
"type_a",
"type_b",
"type_c"
]
}
{
"category_b": [
"type_y",
"type_z"
]
}
如何将这两个json对象组合为一个?我需要以不同的方式来处理转换吗?
答案 0 :(得分:1)
以程序为起点,您只需将单独的对象包装在方括号中,然后使用add
:
.results
| [to_entries[] | { (.key): [ .value.types | keys[] ] } ]
| add