#json #group-by #jq
Вопрос:
Я сгруппировал ответ curl stickyType
, используя следующую команду :
curl <url> | jq 'group_by(.stickyType)'
что дало следующий результат:
[
[
{
"stickyType": "TypeA",
"content": "X",
},
{
"stickyType": "TypeA",
"content": "Y",
}
],
[
{
"stickyType": "TypeB",
"content": "Z",
}
]
]
Теперь я хочу напечатать его как:
TypeA
1. X
2. Y
TypeB
1. Z
Как я могу это сделать ?
Комментарии:
1. нумерация не требуется.
2. Не могли бы вы поделиться всем json?
Ответ №1:
Предполагая, что показанный пример JSON был исправлен и что вы используете параметр командной строки-r:
- Без нумерации
.[] | (.[0]|.stickyType), (.[] | .content)
- С нумерацией:
.[] | (.[0]|.stickyType), (range(0;length) as $i | "($i). (.[$i].content)")
Вы могли бы, например, добавить любой из них в свой конвейер jq.