jq - удалить родителя, не удаляя потомков - PullRequest
0 голосов
/ 05 февраля 2020

Допустим, input.json - это:

{
    "useless": "stuff",
    "deleteMe": [
        {
            "foo": "bar",
            "baz": "fizz"
        }
    ]
}

Я хочу, чтобы это выглядело как

{
    "foo": "bar",
    "baz": "fizz"
}

Другими словами, я хочу удалить родительский (ые), но сохранить дети. Я вижу много о jq 'del()', но это, кажется, удаляет и детей в моем тестировании. Если бы я знал все имена дочерних элементов, я мог бы извлечь их в новый объект, но список ключей меняется, поэтому я надеюсь на более глобальный подход. Как мне удалить все, кроме детей?

1 Ответ

0 голосов
/ 05 февраля 2020

Одним из возможных решений было бы использование jq в сочетании с sponge, например,

< input.json jq '.deleteMe[0]' | sponge input.json

. Существует несколько других весьма разумных решений, частично зависящих от подробных требований, например,

* 1006. *
...