【问题标题】:Is it possible to use Json.Net to deserialise a BSON file to a dynamic object?是否可以使用 Json.Net 将 BSON 文件反序列化为动态对象?
【发布时间】:2016-05-11 05:32:24
【问题描述】:

我有一个 BSON 文件,有什么方法可以告诉 Json.Net 将其反序列化为 this example for JSON 中的动态对象?

【问题讨论】:

    标签: json.net bson


    【解决方案1】:

    是的,只需按照Deserialize from BSON 中的说明反序列化为dynamic(或JTokenExpandoObject)类型:

            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
            }
    

    【讨论】:

      猜你喜欢
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 2015-04-20
      • 1970-01-01
      • 2011-01-06
      • 1970-01-01
      • 2015-07-14
      • 1970-01-01
      相关资源
      最近更新 更多