如何在Bash shell中访问特殊的Json键?

时间:2015-10-13 02:53:47

标签: bash xlsx jsawk

我正在使用Bash通过'jsawk'提取json密钥。我通过节点xlsx将some.xlsx转换为some.json。我有一些像这样的钥匙:

"Scheduled Release"
"Standard Input Parameters\n(Dev)"

第二个包含'\ n',因为.xlsx中的单元格有2行。

问题在于我无法使用以下方法提取值:

$ cat some.json | jsawk -n 'out(this.["Scheduled Release"])'
or
$ cat some.json | jsawk -n 'out(this.["Standard Input Parameters\n(Dev)"])'

没有空格的键没问题。 我的some.json包含一个像这样的对象数组:

{
 "Service": "A service",
 "Resource": "Some Users",
 "Engineer": "A name",
 "Description": "A description",
 "Scheduled Release" : "1.0",
 "Method": "A method",
 "Endpoint": "An enpoint",
 "Standard Input Parameters\n(Dev)": "Some inputs"
}

我怎样才能用Bash做到这一点?

1 个答案:

答案 0 :(得分:0)

现在我可以使用以下方法提取我的预期密钥:

$cat some.json | jsawk -n 'out(this["Standard Input Parameters\n(Dev)"])'