我有以下JSON。我想知道“ Jan”来自哪个国家(比利时)。
{
"Belgium": [
{
"first_name": "Jan",
"last_name": "Molenaar"
},
{
"first_name": "Piet",
"last_name": "Hoogenboom"
}
],
"Germany": [
{
"first_name": "Herman",
"last_name": "Bret"
},
{
"first_name": "Sanne",
"last_name": "Klepper"
}
]
}
我找到并尝试了其他查询,例如:
cat data.json |jq '. as $parent | select(.first_name == "Jan") | $parent'
但不幸的是,我找不到正确的查询。
答案 0 :(得分:1)
以数组的形式获取指向first_name
为Jan
的条目的路径,并从中提取国家/地区名称。
path(.[][] | select(.first_name == "Jan"))[0]
答案 1 :(得分:1)
以下内容可防止在“ Jan”是几个人的名字时产生重复,并且比无条件地扫描所有“ first_name”值的替代方法更有效:
uintmax_t