我正在尝试将json中的mongodb查询解析为字典,并且JObject.Parse会抛出异常。
JSON字符串如下所示
{ vendor: "xyx", product: { $in : [ /prod1/i, /prod2/i, /prod3/i ] } }
例外是消息
解析评论时出错。预期:*,得到了p。路径'产品。$ in',第1行,第50位。
答案 0 :(得分:1)
JSON不支持正则表达式,但您可以更改JSON字符串以使用$regex
查询运算符语法:
{ vendor: "xyx", product: { $in: [
{$regex: "prod1", $options: "i"},
{$regex: "prod2", $options: "i"},
{$regex: "prod3", $options: "i"}
] } }
当然,所有这些都在一个字符串中。要成为有效的JSON,所有键都需要引用,但JObject.Parse
可能允许它们被省略,因为它听起来不像那部分给你带来麻烦。
答案 1 :(得分:0)
看起来你并不是说JSON,而是说MongoDB,不是吗?
对于MongoDB查询,您需要这样做:
{ vendor: "xyx", product: { $in : [ Pattern.compile(/prod1/i), Pattern.compile(/prod2/i), Pattern.compile(/prod3/i) ] } }