【发布时间】:2016-05-11 05:32:24
【问题描述】:
我有一个 BSON 文件,有什么方法可以告诉 Json.Net 将其反序列化为 this example for JSON 中的动态对象?
【问题讨论】:
我有一个 BSON 文件,有什么方法可以告诉 Json.Net 将其反序列化为 this example for JSON 中的动态对象?
【问题讨论】:
是的,只需按照Deserialize from 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
}
原型fiddle。
要直接从文件流式传输,请使用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
}
【讨论】: