Способ преобразования вывода json jq

#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. спасибо, это сработало как заклинание