У меня есть следующий объект json:
{
"foo": {
"name": "Name 1",
"color": "green",
"something_else": {
"name" : "Name 2"
}
},
"bar": {
"name": "Something else",
"color": "red"
}
}
Чтобы получить все возможные родительские свойства свойства, называемого «имя», используя jq, я попытался:
path(recurse|select(.name? !=""))[0]
И это работает и отдай:
"foo"
"foo"
"bar"
Теперь я хочу применить регулярное выражение для фильтрации значения свойства, скажем, я хочу рассмотреть только все свойства, называемые name
, которые имеют значение, начинающееся с «Имя» и сопровождаемое числом, таким как "Name 2"
, чтобы получить:
"foo"
"foo"
Я пробовал это:
path(recurse|select(.name? =~ match(/Name */)))[0]
Как использовать сопоставление и как правильно разместить его внутри запроса?