繁体   English   中英

如何在JSON路径中转义@符号

[英]How to escape @ symbol in JSON Path

这是我的JSON对象Obj3:

{
    "cars": {
        "Nissan": [
            {"model":"Sentra", "@doors":4},
            {"model":"Maxima", "@doors":4},
            {"model":"Skyline", "@doors":2}
        ],
        "Ford": [
            {"model":"Taurus", "@doors":4},
            {"model":"Escort", "@doors":4}
        ]
    }
}

我在门前的@符号有问题。 如果我没有@符号(即键只是门),则可以使用类似以下的内容作为if语句:

console.log(JSONPath(JSONPath.toPathString(['$', 'cars', 'Nissan[?(@.doors==4)]']),obj2));

返回:

{ model: 'Sentra', doors: 4 }, { model: 'Maxima', doors: 4 } ]

谁能建议我需要如何更改此值以将@doors用作门而不是Door?

尝试使用\\ x40转义,但没有成功

以下JSON Path表达式可以解决问题:

$.cars.Nissan[?(@['@doors'] == 4)]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM