Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.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 在一条线上从jq获取输出_Json_Jq - Fatal编程技术网

Json 在一条线上从jq获取输出

Json 在一条线上从jq获取输出,json,jq,Json,Jq,我使用以下输出: 输出: { "key": "SEA-739", "status": "Open", "assignee": null } { "key": "SEA-738", "status": "Resolved", "assignee": "user2@mycompany.com" } 但我需要解析每一行,但就密钥组而言,很难确定哪个受让人是哪个密钥的受让人。这是否可以使用jq在一行中生成一个束 预期产出: { "key": "SEA-7

我使用以下输出:

输出:

 {  
   "key": "SEA-739",
   "status": "Open",
   "assignee": null
 }
 {
   "key": "SEA-738",
   "status": "Resolved",
   "assignee": "user2@mycompany.com"
 }
但我需要解析每一行,但就密钥组而言,很难确定哪个受让人是哪个密钥的受让人。这是否可以使用jq在一行中生成一个束

预期产出:

{ "key": "SEA-739", "status": "Open", "assignee": null }
{ "key": "SEA-738", "status": "Resolved", "assignee": "user2@mycompany.com"}


-c
是您可能需要的

使用上面发布的输出,您可以进一步处理它:

或者只需更改原始命令即可

来自

jq-r“(.issues[]|{key,status:.fields.status.name,assignee:.fields.assignee.emailAddress})”

jq-c“(.issues[]|{key,status:.fields.status.name,assignee:.fields.assignee.emailAddress})”

这并不是一个很长问题的答案,但对于那些在谷歌上搜索jq其他单行输出格式的人来说:

$ jq -r '[.key, .status, .assignee]|@tsv' <<<'
 {
   "key": "SEA-739",
   "status": "Open",
   "assignee": null
 }
 {
   "key": "SEA-738",
   "status": "Resolved",
   "assignee": "user2@mycompany.com"
 }'
SEA-739 Open
SEA-738 Resolved        user2@mycompany.com

此外,还有其他输出格式可以执行诸如转义输出之类的操作,如
@html
,或者像
@base64
一样对其进行编码。该列表可在jq(1)手册页的格式字符串和转义部分或在线获取。

tsv非常重要,如果没有它(或
@sh
),我的输出在其自己的行中有每个值。有用的回答!我在其他任何地方都找不到这个“字符串”版本(而不是json格式)。
{ "SEA-739", "Open", null }
{ "SEA-738", "Resolved", user2@mycompany.com }
jq -c . input
{"key":"SEA-739","status":"Open","assignee":null}
{"key":"SEA-738","status":"Resolved","assignee":"user2@mycompany.com"}
jq -r '(.issues[] | {key, status: .fields.status.name, assignee: .fields.assignee.emailAddress})' jq -c '(.issues[] | {key, status: .fields.status.name, assignee: .fields.assignee.emailAddress})'
$ jq -r '[.key, .status, .assignee]|@tsv' <<<'
 {
   "key": "SEA-739",
   "status": "Open",
   "assignee": null
 }
 {
   "key": "SEA-738",
   "status": "Resolved",
   "assignee": "user2@mycompany.com"
 }'
SEA-739 Open
SEA-738 Resolved        user2@mycompany.com
'SEA-739' 'Open' null
'SEA-738' 'Resolved' 'user2@mycompany.com'