嗨,我正在使用link处的JSON路径表达式的javascript实现
从JSON下面,我试图从“内部连字符” = 1的“连字符”数组中获取对象列表。我试过使用“ $ .hyphened-key [?(@。['inner-hyphenedkey'] == 1)]” json路径表达式。但这会引发错误。代码位于jsfiddle。
{
"nonhyphenedKey": [
{
"inner-hyphenedkey": 1
},
{
"innernonhyphenedkey": 1
}
],
"hyphened-key": [
{
"inner-hyphenedkey": 1
},
{
"inner-hyphenedkey": 2
}
{
"innernonhyphenedkey": 1
}
]
};
请帮助解决此问题。
非常感谢
最佳答案
在javascript实现中,您的过滤器表达式(?(...)
块)被评估为常规javascript。因此,您应该在该表达式中使用常规javascript。请记住,@
是对当前节点的引用。
$.hyphened-key[?(@['inner-hyphenedkey'] == 1)]