我有一个由科学仪器创建的层级较深的JSON对象,因此该文件有点大(1.3MB),并且不易被人读取。我想为JSON对象获取一个特定深度的键列表。例如,给定一个像这样的输入对象使用jq列出JSON对象中的键
{
"acquisition_parameters": {
"laser": {
"wavelength": {
"value": 632,
"units": "nm"
}
},
"date": "02/03/2525",
"camera": {}
},
"software": {
"repo": "github.com/username/repo",
"commit": "a7642f",
"branch": "develop"
},
"data": [{},{},{}]
}
我想要一个像这样的输出。
{
"acquisition_parameters": [
"laser",
"date",
"camera"
],
"software": [
"repo",
"commit",
"branch"
]
}
这主要是为了能够枚举JSON对象中的内容。在处理来自仪器的JSON对象开始发散之后:例如,有些可能有像.frame.cross_section.stats.fwhm
这样的字段,而另一些可能有.sample.species
,所以能够在命令行上查询JSON对象会很方便。