0

我遇到了这个 XPath 字符串...

courses[?(@.id==101)].students[?(@.id==111)]

我什至不确定它是否是有效的 XPath,因为“?” 和 '。' 被使用。而且它在许多在线 XPath 评估器中不起作用。

虽然,在 XPath 3 中,有一个查找运算符 ('?') 和一些 JSON 扫描功能。参考:https ://www.altova.com/training/xpath3/xpath-31#lookup-operator

所以,我想知道'?()'和'。是。

到目前为止,我猜测这个表达式被用来搜索 XML 中的 JSON 内容。

猜测 JSON 对象是这样的:

{
    "courses":[
        {
            'id':'101', 
            'name':'Course 101', 
            'students':[
                { 
                    'id':'111', 
                    'name':'Student 111' 
                }
            ]
        }   
    ]
}

简而言之,它是一个有效的 XPath 3 表达式吗?如果是,那么“?()”和“。”到底是什么?正在做?

4

1 回答 1

0

JSON 只能使用双引号

于 2020-03-01T11:00:49.327 回答