【发布时间】:2017-11-28 22:37:49
【问题描述】:
现在我有一个类似这样的 JSON 文件:
{
"string1":[{
"spec1": "spec1value",
"spec2": "spec2value"
}],
"string2":[{
"spec1": "spec1value",
"spec2": "spec2value"
}],
"string3":[{
"spec1": "spec1value",
"spec2": "spec2value"
}]
}
我需要从这个 JSON 中检索所有最高值,即“string1”、“string2”和“string3”。但是我找不到这样做的好方法。
如果我有这样的文件格式,它会简单得多,但我想避免每个条目都有那个额外的参数:
{
"string1":[{
"stringName": "string1",
"spec1": "spec1value",
"spec2": "spec2value"
}],
"string2":[{
"stringName": "string2",
"spec1": "spec1value",
"spec2": "spec2value"
}],
"string3":[{
"stringName": "string3",
"spec1": "spec1value",
"spec2": "spec2value"
}]
}
那我就可以这样做了:
jq -r ".[][][\"stringName\"]" file.json
关于如何以更清洁的方式解决此问题的任何建议?
【问题讨论】: