簡體   English   中英

jq解析帶有變量的json輸入

[英]jq parsing json input with variables

我有這個輸入:

{
  "users": [
    {
      "name": "tester-01",
      "user": {
        "username": "tester01"
      }
    },
    {
      "name": "tester-02",
      "user": {
        "username": "tester02"
      }
    }
  ],
  "current-user": "tester-02"
}

使用jq(1.5),我要打印與當前用戶匹配的用戶名。

任何人都可以分享如何完成操作或提示以幫助我入門嗎?

這是我的解決方案。

cat 99 | jq -r '."current-user" as $foo | .users[] | select(.name == $foo).user'
{
  "username": "tester02"
}

選擇解決方案是好的。 這是使用foreach的替代方法。

foreach .users[] as $u (
     ."current-user"
   ; .
   ; if . == $u.name then $u.user.username else empty end
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM