Я работаю с файлом JSON, который содержит много данных, которые можно удалить перед отправкой в API.
Обнаружил, что для этого можно использовать JQ, но не уверен в том, как отобразить чтобы получить желаемые результаты.
Ввод JSON
{
"name": "Sample name",
"id": "123",
"userStory": {
"id": "234",
"storyName": "Story Name",
"narrative": "Narrative",
"type": "feature"
},
"testSteps": [
{
"number": 1,
"description": "Step 1",
"level": 0,
"children": [
{
"number": 2,
"description": "Description",
"children": [
{
"number": 3,
"description": "Description"
}
]
},
{
"number": 4,
"anotherfield": "another field"
}
]
}
]
}
Желаемый вывод
{
"name": "Sample name",
"userStory": {
"storyName": "Story Name"
},
"testSteps": [
{
"description": "Step 1",
"children": [
{
"description": "Description",
"children": [
{
"description": "Description"
}
]
},
{
"anotherfield": "anotherfield"
}
]
}
]
}
Попытался сделать это с помощью следующей команды jq
map_values(..|{name, id, userStory})
, но не уверен, как фильтровать только userStory.storyName.
Заранее спасибо.
Примечание: Фактический JSON имеет различные дочерние элементы, которые в некоторых случаях повторяются.