0

目前,我成功地将带有 JQ 的 curl 输出导出到具有有效 json 的文件中。

评论如下:

json值= <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?

编辑:这与此处描述的问题相同

4

1 回答 1

2

您也需要其中的“map”命令,其中应包含 select 命令:

cat FullClosedIssueList.json | jq '.[] | map(select(.typeid=="1"))' 
于 2014-12-16T17:29:06.263 回答