我正在尝试编写一个脚本来从linux终端的文件中获取对象的所有键列表。
该文件包含以下内容:
{
"general" : {
"street" : "Av. Roadmin",
"name" : "Batman",
"phone" : "125478",
"pets": {
"dog":"Hurry",
"cat": "Aria"
}
}
}
我想要下一个输出:
general.street
general.name
general.phone
general.pets.dog
general.pets.car
有人可以帮助我吗?
谢谢!
答案 0 :(得分:3)
您可以使用jq
,如下所示:
jq -r 'paths(scalars)|join(".")' file.json
来自:https://github.com/stedolan/jq/issues/78#issuecomment-348818517
如果要打印键及其值:
jq -r 'paths(scalars) as $p|"\($p|join(".")): \(getpath($p))"' file.json
general.street: Av. Roadmin
general.name: Batman
general.phone: 125478
general.pets.dog: Hurry
general.pets.cat: Aria