Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Json jq构造键和值对_Json_Jq - Fatal编程技术网

Json jq构造键和值对

Json jq构造键和值对,json,jq,Json,Jq,我有如下JSON文件: { "metadata":{ "selfLink":"/api/v1/nodes", "resourceVersion":"6666628" }, "items":[ { "metadata":{ "name":&quo

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