jq构造键和值对

用户名

我有如下的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=

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章