我有一个BSON文件,有什么方法可以告诉Json.Net将其反序列化为像this example for JSON这样的动态对象吗?
答案 0 :(得分:0)
是的,只需按照JToken
中的说明反序列化为dynamic
(或ExpandoObject
或Deserialize from BSON)类型:
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
}