在Jpath中转义单引号

时间:2019-04-15 04:02:38

标签: c# json jpath

我有一个格式正确的json,如下所示:

{
    "Slide":[
        {
            "Code": "'!!!", 
            "Status": "OK"
        },
        {
            "Code": "123", 
            "Status": "Failed"
        }
    ]
}

我使用json路径基于Status过滤Code。 Jsonpath就像这样:C#中的..[?(@.Code == '{0}')].Status。 因此,以编程方式填充jpath中的参数。 当值“'!!!”传递到jpath(即..[?(@.Code == ''!!!')].Status)之上,它将不起作用,因为单引号不会被转义。因为我不是参数值的硬编码,所以我无法手动对其进行转义。  即..[?(@.Code == '\'!!!')].Status将解决问题。但是我需要以编程方式实现它。

解决此问题的一种方法是使用正则表达式并识别模式,然后在将参数传递给jpath之前对其进行转义。我对regex不太满意,无法编写替换时会保持jpath的开始和结束引用完整的内容。谁能帮忙。

还是有更好的方法?。

P.s:我无法使用jpath的正则表达式功能,因为我需要按特定的代码进行过滤。

0 个答案:

没有答案