【发布时间】:2021-12-13 23:02:44
【问题描述】:
如果您认为这篇文章的标题不对,我也是。我很乐意重新表述,但很难解释。
鉴于此:
[
{
"A": "a",
"B": "b",
"C": "c"
},
{
"D": "d",
"E": "e"
}
]
我想要这个:
[
{ index: 0, key: "A", value: "a" },
{ index: 0, key: "B", value: "b" },
{ index: 0, key: "C", value: "c" },
{ index: 1, key: "D", value: "d" },
{ index: 1, key: "E", value: "e" }
]
现在不管它到底是一个数组还是别的什么,都无所谓了。 我真正要寻找的是将输入数组中的那些元素转换为键值对,然后添加数组中该元素的索引。 所以数组中的第一个对象是“index: 0”,第二个是“index: 1”,以此类推
我可以从数组中获取索引就好了:
jq 'to_entries | .[]' sample.json
这给了我:
{
"key": 0,
"value": {
"A": "a",
"B": "b",
"C": "c"
}
}
{
"key": 1,
"value": {
"D": "d",
"E": "e"
}
}
我也可以得到键值对:
jq 'to_entries | .[] | .value | to_entries' sample.json
这给了我:
[
{
"key": "A",
"value": "a"
},
{
"key": "B",
"value": "b"
},
{
"key": "C",
"value": "c"
}
]
[
{
"key": "D",
"value": "d"
},
{
"key": "E",
"value": "e"
}
]
但我不知道如何将两者结合起来。
【问题讨论】:
标签: jq