如果字段是空数组,如何使用 jq 不显示 json 数据?

Ant*_*ong 1 jq

我有一些 json 格式的 github 数据,如下所示:

{
  "id": 18535,
  "node_id": "MDExhN0M8877883",
  "number": 747,
  "state": "closed",
  "locked": false,
  "title": "Generate cordova protos",
  "user": {
    "login": "Superhacker"
  },
  "body": "Simple PR",
  "created_at": "2018-05-02T07:43:39Z",
  "updated_at": "2018-07-21T02:09:14Z",
  "closed_at": "2018-05-02T07:54:56Z",
  "merge_commit_sha": "4bf92c0332c66999999b6c0a766e",
  "assignee": null,
  "assignees": [],
  "requested_reviewers": [],
  "requested_teams": [],
  "labels": [],
  "milestone": null,
  "draft": false,
  "author_association": "CONTRIBUTOR"
}
Run Code Online (Sandbox Code Playgroud)

当 json 字符串为空时,我不想显示它requested_reviewers

我尝试了几种方法

  1. echo <the json string above> | jq '.requested_reviewers | select(. != "")

表明[]

  1. echo <the json string above> | jq '.requested_reviewers | select(! empty)

它给出了语法错误。

  1. echo <the json string above> | jq '.requested_reviewers | select(. != empty)

现在jq没有打印出我想要的任何东西。

但是如果我输入一个非空的 json requested_reviewers,它也不会打印任何内容。

此外,我不想只打印该字段。我希望能够看到整个 json 字符串。

我怎样才能实现我的目标jq

pea*_*eak 5

select(.requested_reviewers != [])
Run Code Online (Sandbox Code Playgroud)