我正在编写一个shell函数来从输入JSON文件返回单个嵌套属性值。
JSON文件cookie.json
的格式为:
"personalizationID": {
"expires": null,
"path": "/api",
"secure": false,
"value": "1458234194659-16"
},
"taxCode": {
"expires": null,
"path": "/api",
"secure": false,
"value": "aEFPyynhwJyzAHyfjXUlrGhblTtxWduqtCDMLxiD"
}
所以我在尝试:
cat cookie.json | grep taxCode | cut -f 7
但它只返回"taxCode": {
。我需要一个函数,给定三个参数,文件名cookie.json
,outerProperty taxCode
和nestedProperty value
,返回innerProperty aEFPyynhwJyzAHyfjXUlrGhblTtxWduqtCDMLxiD
的值。我不想使用任何其他库只进行一次嵌套值提取。我怎么能这样做?
答案 0 :(得分:0)
也许你应该看看jq
答案 1 :(得分:0)
以下是使用jq的解决方案。如果cookies.json
包含正确的样本数据,则以下内容
命令
$ jq -M -r .taxCode.value cookies.json
产生
aEFPyynhwJyzAHyfjXUlrGhblTtxWduqtCDMLxiD