【发布时间】:2018-07-02 08:52:38
【问题描述】:
我有以下 json 对象:
{
"foo": {
"name": "Name 1",
"color": "green",
"something_else": {
"name" : "Name 2"
}
},
"bar": {
"name": "Something else",
"color": "red"
}
}
要使用 jq 获取名为“name”的属性的所有可能父属性,我尝试过:
path(recurse|select(.name? !=""))[0]
它有效并回馈:
"foo"
"foo"
"bar"
现在我想应用正则表达式来过滤属性值,假设我只想考虑所有名为name 的属性,其值以“名称”开头,后跟像"Name 2" 这样的数字,以获得:
"foo"
"foo"
我试过这个:
path(recurse|select(.name? =~ match(/Name */)))[0]
如何使用 match 以及如何在查询中正确放置它?
【问题讨论】: