我有这个输入:
{
"users": [
{
"name": "tester-01",
"user": {
"username": "tester01"
}
},
{
"name": "tester-02",
"user": {
"username": "tester02"
}
}
],
"current-user": "tester-02"
}
使用jq(1.5),我想打印与当前用户匹配的用户名。
任何人都可以分享如何做到这一点或提示让我开始吗?
答案 0 :(得分:2)
这是我的解决方案。
cat 99 | jq -r '."current-user" as $foo | .users[] | select(.name == $foo).user'
{
"username": "tester02"
}
答案 1 :(得分:0)
选择解决方案很好。以下是使用 foreach 的替代方法。
foreach .users[] as $u (
."current-user"
; .
; if . == $u.name then $u.user.username else empty end
)