Как разработчик, когда я использую следующую команду JQ:
.first_level. "Second_level" [] | = select (.fruit == "pear")
И я применяю его к этому JSON:
{
"first_level": {
"second_level": [
{
"fruit": "apple"
},
{
"fruit": "pear"
},
{
"fruit": "banana"
},
{
"fruit": "donuts"
}
]
}
}
Затем я хотел бы получить этот результат (только сохраняйте элементы со свойством fruit
равным pear
):
{
"first_level": {
"second_level": [
{
"fruit": "pear"
}
]
}
}
Но текущее возвращаемое значение (также можно увидеть в JQ Play здесь ):
{
"first_level": {
"second_level": [
{
"fruit": "pear"
},
{
"fruit": "donuts"
}
]
}
}
-> Оно сохраняет значение с donuts
и чего я не понимаю, так это того, что из документации JQ |=
должен назначать значение выбора, но при запуске:
.first_level. "Second_level" [] | select (.fruit == "pear")
У меня следующий результат:
{
"fruit": "pear"
}
-> Кажется, выбор был успешным, но эффект не действует как я и ожидал (он добавляет donuts
).
Любая помощь с этой проблемой будет принята с благодарностью. Заранее спасибо! :)