嗨,我正在使用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)]

10-08 07:35