我有类似JSON的
{
"media": {
"@ref": "https://Bull_FTR.mpg",
"track": [{
"@type": "General",
"VideoCount": "1"
}, {
"@type": "Video",
"StreamOrder": "0"
}, {
"@type": "Audio",
"StreamOrder": "1"
},
{
"@type": "Audio",
"StreamOrder": "2"
}]
}
}
,我需要查询mwdia.tracks中所有具有@type ='Audio'的字段。问题是我要过滤的字段包含'@',而我的查询$.media.track[?(@.['@type'] == 'Audio')]
无法正常工作。我在做什么错了?
答案 0 :(得分:1)
简单的方法是将十六进制代码( \ x40 )替换为@字符,直接插入jsonpath查询中:
$.media.track[?(@['\x40type']=="Audio")]