我有一些 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。
我尝试了几种方法
echo <the json string above> | jq '.requested_reviewers | select(. != "")表明[]
echo <the json string above> | jq '.requested_reviewers | select(! empty)它给出了语法错误。
echo <the json string above> | jq '.requested_reviewers | select(. != empty)现在jq没有打印出我想要的任何东西。
但是如果我输入一个非空的 json requested_reviewers,它也不会打印任何内容。
此外,我不想只打印该字段。我希望能够看到整个 json 字符串。
我怎样才能实现我的目标jq?