Json.net是否支持使用SelectTokens()进行更复杂的通配符搜索?

时间:2017-06-27 22:31:09

标签: c# json json.net jsonpath jpath

我知道我可以像这样进行通配符搜索:

jObject.SelectTokens("items.*.name");

我在运行时构建搜索路径,它不是硬编码的。在某些情况下,我需要搜索更复杂的内容,例如“q *”,这样会产生以下搜索路径:

jObject.SelectTokens("items.q*.name");

Json.net似乎不支持,所以在这种情况下,我将搜索字符串更改为“items。*。name”,然后使用带有正则表达式的Where子句过滤到与通配符,所以,正则表达式可能是:

^items\.q.*\.name$

当然,这是一个简单的案例,但它可能是路径上的多个*,它可能类似于“。* v2。”等。

如果有一些方法可以在json.net中本地执行(或者更好的方式来执行正则表达式),我可以摆脱正则表达式匹配,因为这是分析器说费用的地方。

0 个答案:

没有答案