簡體   English   中英

jq 構造鍵值對

[英]jq construct key and value pair

我有如下 JSON 文件:

{
   "metadata":{
      "selfLink":"/api/v1/nodes",
      "resourceVersion":"6666628"
   },
   "items":[
      {
         "metadata":{
            "name":"d50d-sa-app23",
            "selfLink":"/api/v1/nodes/d50d-sa-app23",
            "uid":"86a0e0b7-e9da-4489-86bd-0b6a7aafe102",
            "resourceVersion":"6666622",
            "creationTimestamp":"2020-07-07T12:34:08Z",
            "labels":{
               "beta.kubernetes.io/arch":"amd64",
               "beta.kubernetes.io/os":"linux",
               "node-role.kubernetes.io/master":""
            }
          }
      }
    ]
}

所需的輸出如下。 請注意,標簽的名稱和編號不是固定的。

beta.kubernetes.io/arch=amd64;beta.kubernetes.io/os=linux;node-role.kubernetes.io/master=

我知道如何分別獲取鍵和值對。 如下所示,但我不知道將鍵和值配對在一起。

.items[] | ((.metadata.labels | keys | join(",")) + "=" + (.metadata.labels | join(";")))

任何人都可以幫忙嗎?

謝謝

這是否有助於您解決問題:

jq -r '.items[].metadata.labels| to_entries|map("\(.key)=\(.value)") |join(";")'
// Output:
// beta.kubernetes.io/arch=amd64;beta.kubernetes.io/os=linux;node-role.kubernetes.io/master=

暫無
暫無

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

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