Deserialize a Collection from BSON (newtonsoft.com)

This sample sets ReadRootValueAsArray to true so the root BSON value is correctly read as an array instead of an object and deserializes BSON to a collection.

Sample
Types
public class Event
{
public string Name { get; set; }
public DateTime StartDate { get; set; }
}
Usage
string s = "MQAAAAMwACkAAAACTmFtZQAHAAAARWFzdGVyAAlTdGFydERhdGUAgDf0uj0BAAAAAA==";
byte[] data = Convert.FromBase64String(s); MemoryStream ms = new MemoryStream(data);
using (BsonReader reader = new BsonReader(ms))
{
reader.ReadRootValueAsArray = true; JsonSerializer serializer = new JsonSerializer(); IList<Event> events = serializer.Deserialize<IList<Event>>(reader); Console.WriteLine(events.Count);
// 1 Console.WriteLine(events[0].Name);
// Easter
}
 

Json.Net Deserialize a Collection from BSON的更多相关文章

  1. JsonHelper developed by using Newtonsoft.Json.NET, Deserialize to <T> object , XmlToJson/JsonToXml, QuoteName by using JToken Path.

    namespace TestConsoleApplication { using System; using System.Diagnostics; using System.Threading; u ...

  2. Newtonsoft.Json反序列化(Deserialize)出错:Bad JSON escape sequence

    使用Newtonsoft.Json反序列化收到的字串为JObject或其它支持的数据模型,有时错误,提示如下: Bad JSON escape sequence: \c. Path , positio ...

  3. Json.NET Deserialize时如何忽略$id等特殊属性

    由于$id.$ref等是默认Json.NET的特殊属性,在反序列化时不会将其对应的值填充,例如: [DataContract] public class MyObject { [DataMember( ...

  4. ASP.NET Web API 2.1支持Binary JSON(Bson)

    ASP.NET Web API 2.1内建支持XML.Json.Bson.form-urlencoded的MiME type,今天重点介绍下Bson.BSON是由10gen开发的一个数据格式,目前主要 ...

  5. MongoDB之一介绍(MongoDB与MySQL的区别、BSON与JSON的区别)

    MySQL与MongoDB的操作对比,以及区别 MySQL与MongoDB都是开源的常用数据库,但是MySQL是传统的关系型数据库,MongoDB则是非关系型数据库,也叫文档型数据库,是一种NoSQL ...

  6. BSON与JSON的区别

    BSON是由10gen开发的一个数据格式,目前主要用于MongoDB中,是MongoDB的数据存储格式.BSON基于JSON格式,选择JSON进行改造的原因主要是JSON的通用性及JSON的schem ...

  7. JSON AND BSON

    JSON JavaScript Object Notation (JSON) is an open, human and machine-readable standard that facilita ...

  8. json与bson区别

    bson是由10gen开发的一个数据格式,目前主要用于mongoDB中,是mongoDB的数据存储格式.bson基于json格式,选择json进行改造的原因主要是json的通用性及json的schem ...

  9. json与bson的区别

    bson是由10gen开发的一个数据格式,目前主要用于mongoDB中,是mongoDB的数据存储格式.bson基于json格式,选择json进行改造的原因主要是json的通用性及json的schem ...

  10. 【mongodb】json与bson区别

    bson是由10gen开发的一个数据格式,目前主要用于mongoDB中,是mongoDB的数据存储格式.bson基于json格式,选择json进行改造的原因主要是json的通用性及json的schem ...

随机推荐

  1. 构建动态交互式H5导航栏:滑动高亮、吸顶和锚点导航技巧详解

    功能描述 产品要求在h5页面实现集锚点.吸顶及滑动高亮为一体的功能,如下图展示的一样.当页面滑动时,内容区域对应的选项卡高亮.当点击选项卡时,内容区域自动滑动到选项卡正下方. 布局设计 css 布局 ...

  2. nginx重新整理——————http请求的11个阶段中的日志阶段[十九]

    前言 简单介绍一下access log 阶段. 正文 日志模块是 ngx_http_log_module,这个模块无法禁用,内置的. 结 上面是日志的用法.主要的一个内容是日志如果是变量的话,那么需要 ...

  3. sql 语句系列(加减乘除与平均)[八百章之第十四章]

    avg的注意事项 一张t2表: select * from t2 select AVG(sal) from t2 得到的结果是: 本来我们得到的结果应该是10的.但是得到的结果确实15. 这是因为忽略 ...

  4. redis 简单整理——HyperLogLog[十三]

    前言 简单介绍一下HyperLogLog. 正文 HyperLogLog并不是一种新的数据结构(实际类型为字符串类型),而 是一种基数算法,通过HyperLogLog可以利用极小的内存空间完成独立总数 ...

  5. sumo简单安装及运行实例

    下载解压并添加环境变量 记录一下今天SUMO的安装及使用经验,写的可能比较潦草,没看懂的小伙伴在下方评论,我看到一定会解答. 第一步先打开网址下载sumo: https://sourceforge.n ...

  6. tinyproxy轻量代理服务器安装

    tinyproxy是一款用于POSIX操作系统的轻量级HTTP/HTTPS代理服务程序,非常小巧快速,便于部署,性能也不差,因此适合在嵌入式设备上使用,tinyproxy的仓库和文档链接分别是: 仓库 ...

  7. 力扣419(java)-甲板上的战舰(中等)

    题目: 给你一个大小为 m x n 的矩阵 board 表示甲板,其中,每个单元格可以是一艘战舰 'X' 或者是一个空位 '.' ,返回在甲板 board 上放置的 战舰 的数量. 战舰 只能水平或者 ...

  8. 力扣405(java)-数字转换为十六进制(简单)

    题目: 给定一个整数,编写一个算法将这个数转换为十六进制数.对于负整数,我们通常使用 补码运算 方法. 注意: 十六进制中所有字母(a-f)都必须是小写.十六进制字符串中不能包含多余的前导零.如果要转 ...

  9. 为 Serverless Devs 插上 Terraform 的翅膀,实现企业级多环境部署(上)

    简介: Serverless Devs 离不开对云资源的操作,但支持新资源时需要开发相应的组件代码:​如果将环境模板的定义通过 Terraform IaC 来完成,在 Serverless Devs ...

  10. 如何将实时计算 Flink 与自身环境打通

    简介: 如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 客训练营产品.技术专家齐上阵,从 Flink的发展. Flink 的技术原理.应用场景及行业案例,到开源Flink功能介绍 ...