[英]How to use jsawk to extract value from property of json object with non alpha numeric characters
文件/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 /tmp/t | jsawk -n 'out(this.last)'
但這不會影響cat test.json | jsawk -n 'out(this.name:first)'
cat test.json | jsawk -n 'out(this.name:first)'
可能與以下內容有關: 選擇密鑰中帶有冒號的JSON對象
以及如何使用jQuery訪問這些奇怪的JSON項目?
但是cat test.json | jsawk -n 'out(this.name[':first'])'
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
不是)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.