如何在C#中解析JSON数组?

如何在C#中解析JSON数组?,c#,mongodb-.net-driver,C#,Mongodb .net Driver,使用MongoDB C#驱动程序,如何将JSON数组(字符串)解析为BsonDocument[] 我们希望将我们的mongo聚合管道存储在单独的JSON文档中,因此需要一种解析它们的方法。如果这符合您的目的,这是个不错的主意。是的,C#驱动程序已经从JSON字符串源支持BSON序列化: string='json'>[ {“$match:{“foo”:“bar”}, {“$组”:{ “_id”:空, “计数”:{“$sum”:1} }} ]'; B记录管道= 反序列化(json); 因此,您可以

使用MongoDB C#驱动程序,如何将JSON数组(字符串)解析为
BsonDocument[]


我们希望将我们的mongo聚合管道存储在单独的JSON文档中,因此需要一种解析它们的方法。

如果这符合您的目的,这是个不错的主意。是的,C#驱动程序已经从JSON字符串源支持BSON序列化:

string='json'>[
{“$match:{“foo”:“bar”},
{“$组”:{
“_id”:空,
“计数”:{“$sum”:1}
}}
]';
B记录管道=
反序列化(json);

因此,您可以拉入格式为JSON的聚合管道字符串,并将其作为BSON文档使用或操作。

接受答案的结果是BsonArray,如果您需要
BsonDocument[]
您可以执行以下操作

BsonSerializer.Deserialize<BsonArray>(yourJsonString).Select(p => p.AsBsonDocument)
BsonSerializer.Deserialize(yourJsonString)。选择(p=>p.AsBsonDocument)
如果您需要它作为
列表

BsonSerializer.Deserialize(yourJsonString).选择(p=>p.AsBsonDocument).ToList()

哪个版本的驱动程序?这不是使用2.x C#驱动程序为我编译的。它说它不能隐式地将BsonArray转换为BsonDocument。也不允许显式强制转换。这应该是正确的答案。第一个返回一个
BsonArray
,无论它是否按要求返回一个
BsonDocument
集合。
BsonSerializer.Deserialize<BsonArray>(yourJsonString).Select(p => p.AsBsonDocument).ToList<BsonDocument>()