使用'jq'[重复]从JSON输出中获取数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用'jq'[重复]从JSON输出中获取数据相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我有以下JSON输出:
{
"201110131738QP27N": {
"parent": 17,
"name": "CentralServer",
"status": "Active",
"count": 6
},
"201803271459ICV69": {
"name": "subaccount1",
"status": "Active",
"count": 1
},
"2018032715008ZM2G": {
"name": "subaccount2",
"status": "Active",
"count": 1
},
"201803281536PSKR4": {
"name": "Este e um teste",
"status": "Active"
}
}
我试图只获得以下数据:
201110131738QP27N
201803271459ICV69
2018032715008ZM2G
201803281536PSKR4
为了获得所需的数据,我正在尝试使用jq
命令,但到目前为止我还没有成功。
答案
要获得没有数组的原始输出,请使用|.[]
来打开它
jq --raw-output 'keys | .[]' input.json
产生
201110131738QP27N
201803271459ICV69
2018032715008ZM2G
201803281536PSKR4
或更简单地写为jq --raw-output 'keys[]'
另一答案
使用keys
builtin function的jq
。
假设您的输入JSON存储在文件input.json
中:
$ cat input.json | jq 'keys'
生产:
[
"201110131738QP27N",
"201803271459ICV69",
"2018032715008ZM2G",
"201803281536PSKR4"
]
以上是关于使用'jq'[重复]从JSON输出中获取数据的主要内容,如果未能解决你的问题,请参考以下文章
使用“jq”从 JSON 文件导出所需的输出(按正确顺序的字段)