我有一个BSON文件,有什么方法可以告诉 Json.Net 将其反序列化为动态对象,就像这个JSON的例子一样?
是的,只需按照从 BSON 反序列化中的说明反序列化为类型 dynamic
(或 JToken
或 ExpandoObject
):
dynamic result;
using (var stream = new MemoryStream(byteArray))
using (var reader = new BsonReader(stream))
{
var serializer = JsonSerializer.CreateDefault();
result = serializer.Deserialize<dynamic>(reader); // Or ExpandoObject or JToken
}
原型小提琴。
要直接从文件流式传输,请使用FileStream
:
string path = "bsonData.bson"; // Or whatever
dynamic result;
using (var stream = File.OpenRead(path))
using (var reader = new BsonReader(stream))
{
var serializer = JsonSerializer.CreateDefault();
result = serializer.Deserialize<dynamic>(reader); // Or ExpandoObject or JToken
}