用 jq 解析数组中的 JSON 个元素
Parse JSON Elements in Array with jq
我正在尝试弄清楚如何使用 jq 在下面的 JSON 示例中仅打印属性-> 首选项部分。让我感到震惊的是,这是一个包含多个条目的数组,这些条目由一个 id 键值对标识,我需要 attributes->preferences 部分只是来自 id 为 1 的数组元素,而不知道前面数组条目的确切顺序时间.
[
{
"id": 1,
"attributes": {
"preferences": {
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
...
}
},
...
},
{
"id": 2,
...
},
{
"id": 4,
...
},
...
]
我想要的输出是:
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
...
}
jq '.[] | select( .id == 1 ) | .attributes.preferences'
Demo 在 jqplay
我正在尝试弄清楚如何使用 jq 在下面的 JSON 示例中仅打印属性-> 首选项部分。让我感到震惊的是,这是一个包含多个条目的数组,这些条目由一个 id 键值对标识,我需要 attributes->preferences 部分只是来自 id 为 1 的数组元素,而不知道前面数组条目的确切顺序时间.
[
{
"id": 1,
"attributes": {
"preferences": {
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
...
}
},
...
},
{
"id": 2,
...
},
{
"id": 4,
...
},
...
]
我想要的输出是:
{
"key1": "value1",
"key2": "value2",
"key3": "value3",
"key4": "value4",
...
}
jq '.[] | select( .id == 1 ) | .attributes.preferences'
Demo 在 jqplay