Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.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
使用jq解析json_Json_Jq - Fatal编程技术网

使用jq解析json

使用jq解析json,json,jq,Json,Jq,我正在尝试解析一个JSON文件 输入内容: { "pools":[ { "id":"403add1f-25d9-4a24-99ff-12c5559fecfa", "members":[ { "id":"2b8e1155-aae0-4999-a038-ec900fd8e5b6&quo

我正在尝试解析一个JSON文件

输入内容:

{
   "pools":[
      {
         "id":"403add1f-25d9-4a24-99ff-12c5559fecfa",
         "members":[
            {
               "id":"2b8e1155-aae0-4999-a038-ec900fd8e5b6"
            },
            {
               "id":"3010bc81-e76d-462a-b4cc-2dc0888d65d2"
            }
         ]
      },
      {
         "id":"ranj-25d9-4a24-99ff-12c5559fecfa",
         "members":[
            {
               "id":"ranj-aae0-4999-a038-ec900fd8e5b6"
            }
         ]
      }
   ],
   "pools_links":[

   ]
}
预期产出:

403add1f-25d9-4a24-99ff-12c5559fecfa=2
ranj-25d9-4a24-99ff-12c5559fecfa=1
“403add1f-25d9-4a24-99ff-12c5559fecfa”正在从id读取,2是成员数

有人知道如何在一次jq电话中做到这一点吗

谢谢。

很简单:

jq -r '.pools[] | "\(.id)=\(.members|length)"'
-r
打开原始(非JSON)输出,以便我们可以直接格式化输出行。

非常简单:

jq -r '.pools[] | "\(.id)=\(.members|length)"'
-r
打开原始(非JSON)输出,以便直接格式化输出行