文件/tmp/t
中的json文件内容示例
[
{
"name:first" : "trevor",
"last" : "wellington",
"from" : "england",
"age" : 52,
"sports" : [ "rugby", "badmitton", "snooker" ]
},
{
"name:first" : "yoni",
"last" : "halevi",
"from" : "israel",
"age" : 26,
"sports" : [ "soccer", "windsurfing" ]
},
{
"name:first" : "cory",
"last" : "parker",
"from" : "united states",
"age" : 31,
"sports" : [ "windsurfing", "baseball", "extreeeeme kayaking" ]
}
]
这很好cat /tmp/t | jsawk -n 'out(this.last)'
但事实并非如此cat test.json | jsawk -n 'out(this.name:first)'
可能与:选择键中带有冒号的JSON对象
和如何使用jQuery访问这些奇怪的JSON项?
但是cat test.json | jsawk -n 'out(this.name[':first'])'
也不起作用
开始:
... | jsawk -n 'out(this["name:first"])'
this.name:first
不起作用,因为空的:
不能在对象属性中。
例如,给定这个JavaScript对象:
x = {
"name:first" : "cory",
"last" : "parker",
"from" : "united states",
"age" : 31,
"sports" : [ "windsurfing", "baseball", "extreeeeme kayaking" ]
}
这些是有效的:
x.last
和x['last']
x.from
和x['from']
- 但只有
x['name:first']
(x.name:first
不是)