使用Bash Shell提取JSON对象?
我有一个以下json文件,我正在寻找一种使用bash shell使用对象路径提取对象的方法。
例如,如果我说extract('production-ap/ap-northeast-1')
的话,那将返回我"accessKey":
"OO","accountID": "99"
。
我喜欢bash shell脚本,但了解有限,请帮忙!
谢谢
{ "production-ap": {
"ap-northeast-1": {
"accessKey": "OO",
"accountID": "99"
},
"ap-northeast-2": {
"accessKey": "AB",
"accountID": "12"
}
},
"production-eu": {
"eu-west-1": {
"accessKey": "CD",
"accountID": "34"
},
"us-east-1": {
"accessKey": "CD",
"accountID": "34"
}
},
"production-us": {
"us-east-1": {
"accessKey": "EF",
"accountID": "56"
},
"us-east-2": {
"accessKey": "EF",
"accountID": "56"
}
},
"stage-ap": {
"ap-northeast-1": {
"accessKey": "AK",
"accountID": "78"
},
"ap-northeast-2": {
"accessKey": "AK",
"accountID": "78"
}
},
"stage-eu": {
"eu-west-1": {
"accessKey": "AK",
"accountID": "55"
},
"eu-west-2": {
"accessKey": "AK",
"accountID": "55"
}
},
"stage-us": {
"us-east-1": {
"accessKey": "AK",
"accountID": "30"
},
"us-east-2": {
"accessKey": "AK",
"accountID": "30"
}
},
"private": {
"us-west-2": {
"accessKey": "z2",
"accountID": "52"
},
"us-west-1": {
"accessKey": "z2",
"accountID": "52"
}
}
}
回答:
使用bash这样做会很困难。尽管我不确定它们的可靠性,但似乎确实有将
JSON解析器编写为shell脚本。我建议像jq这样的东西可以作为单独的程序运行并在管道中使用。它是一个独立的可执行文件,用C语言编写。没有理由不能将它与程序一起提供。
以上是 使用Bash Shell提取JSON对象? 的全部内容, 来源链接: utcz.com/qa/424749.html