目前我已成功将带有JQ的curl输出导出到具有有效json的文件中。
评论如下:
jsonValues = <curl command> | jq '.["issues"] | map({key: .key, type: .fields.issuetype.name, typeid: .fields.issuetype.id, status: .fields.status.name, summary: .fields.summary})' > FullClosedIssueList.json
; `
你可以看到我用这一个命令做了两件事:
jsonValues
。FullClosedIssueList.json
。 我发现jsonValues
个对象格式不足[
,]
和,
。
{
"key": "ON-12345",
"type": "Bug",
"typeid": "1",
"status": "Closed",
"summary": "Some Bug Title"
}
{
"key": "ON-12346",
"type": "Bug",
"typeid": "1",
"status": "Closed",
"summary": "Some Other Bug Title"
}
而文件输出是有效的json。
[
{
"key": "ON-12345",
"type": "Bug",
"typeid": "1",
"status": "Closed",
"summary": "Some Bug Title"
},
{
"key": "ON-12346",
"type": "Bug",
"typeid": "1",
"status": "Closed",
"summary": "Some Other Bug Title"
}
]
我需要向JQ添加什么命令,以便传递给bash变量的对象是有效的json?
编辑:这与here
所述的问题相同答案 0 :(得分:2)
你也需要“map”命令,其中应该包含select命令:
cat FullClosedIssueList.json | jq '.[] | map(select(.typeid=="1"))'