Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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 获取多个字段并迭代数组_Json_Jq - Fatal编程技术网

Json 获取多个字段并迭代数组

Json 获取多个字段并迭代数组,json,jq,Json,Jq,如何将此与jq结合?两者都独立工作,但我无法让它们一起工作: jq'.objects[].addresses[]|.id、.ipValue.ipStr、.hostName' jq'.objects[]|.id、.name' 这不起作用: jq'.objects[]|.id、.name、.addresses[]|.id、.ipValue.ipStr、.hostName' 换句话说,打印.id.,.name,并在地址数组上迭代,然后打印.id,.ipValue.ipStr和.hostName?,管道

如何将此与jq结合?两者都独立工作,但我无法让它们一起工作:

jq'.objects[].addresses[]|.id、.ipValue.ipStr、.hostName'

jq'.objects[]|.id、.name'

这不起作用:

jq'.objects[]|.id、.name、.addresses[]|.id、.ipValue.ipStr、.hostName'


换句话说,打印
.id.
.name
,并在地址数组上迭代,然后打印
.id
.ipValue.ipStr
.hostName

,管道操作符的优先级高于逗号操作符

.objects[] | .id, .name, (.adresses[] | .id, .ipValue.ipStr, .hostName)

看起来您正在寻找以下内容:

jq -r '.objects[]
  | [.id, .name] + (.addresses[] | [.id, .ipValue.ipStr, .hostName])
  | @csv'

最好添加输入文件或示例