3

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

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

我在运行时构建搜索路径,它不是硬编码的。在某些情况下,我需要搜索一些更复杂的东西,比如“q*”,这样会导致搜索路径为:

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

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

^items\.q.*\.name$

当然,这是一个简单的例子,但路径上可能有多个 *,也可能是“.*v2.”等。

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

4

0 回答 0