jsonpath:当键名中有“连字符”时,如何访问当前对象中的键?

时间:2014-06-19 13:37:41

标签: javascript json jsonpath

您好我正在使用此link

提供的JSON路径表达式的javascript实现

从JSON下面我试图从" hyphened-key"中获取对象列表。数组所在的"内部 - hyphenedkey" = 1。我尝试过使用" $。hyphened-key [?(@。[' inner-hyphenedkey'] == 1)] " json路径表达式。但它会引发错误。代码位于jsfiddle

{
"nonhyphenedKey": [
                        {
                            "inner-hyphenedkey": 1
                        }, 
                        {
                            "innernonhyphenedkey": 1
                        }
                  ],
"hyphened-key": [
                         {
                            "inner-hyphenedkey": 1
                         },
                         {
                            "inner-hyphenedkey": 2
                         } 
                         {
                            "innernonhyphenedkey": 1
                         }
                ]
};

请帮助解决此问题。

非常感谢

1 个答案:

答案 0 :(得分:0)

在javascript实现中,您的过滤器表达式(?(...)块)被评估为常规javascript。所以你应该在那个表达式中使用常规的javascript。请记住,@是对当前节点的引用。

$.hyphened-key[?(@['inner-hyphenedkey'] == 1)]