#jq
Вопрос:
У меня есть следующий вывод json:
[
{
"serviceid": "service1",
"endpoints" : {
"endpoint1": [
"example1",
"example2",
"example3",
"example4"
],
"endpoint2": [
"example3",
"example4",
"example5",
"example6"
]
},
"version": "1.0"
},
{
"serviceid": "service2",
"endpoints" : {
"endpoint3": [
"example7",
"example8",
"example9",
"example10"
]
},
"version": "2.0"
}
]
Поэтому мне нужно удалить конечную точку 1, конечную точку 2 и конечную точку 3 и сохранить их дочерние элементы в виде массива.
Это и есть желаемый результат:
[
{
"serviceid": "service1",
"endpoints" : [
"example1",
"example2",
"example3",
"example4"
"example3",
"example4",
"example5",
"example6"
],
"version": "1.0"
},
"serviceid": "service2",
"endpoints" : [
"example7",
"example8",
"example9",
"example10"
],
"version": "2.0"
}
]
Я понятия не имею, как с этим справиться, пожалуйста, не могли бы вы мне помочь?
Заранее спасибо.
Комментарии:
1. Это недопустимый JSON.
Ответ №1:
Как только вы исправите все опечатки во входных данных (несколько запятых и некоторые фигурные скобки отсутствовали), это должно сработать:
jq 'map(.endpoints |= [.[][]])'
Комментарии:
1. спасибо, это сработало как заклинание