以可读格式保存BSON文档

时间:2016-03-16 15:45:29

标签: c#

我有以下代码将集合保存到文本文件中。

 if(saveFileDialog1.ShowDialog() == DialogResult.OK)
        {
                var collection = _database.GetCollection<BsonDocument>("clicks");


                var r = collection.Find(new BsonDocument()).ToList();
                StringBuilder builder = new StringBuilder();
                r.ForEach(d => builder.Append(d.ToString() + "\n"));


                File.WriteAllText(saveFileDialog1.FileName, builder.ToString());

        }

虽然,代码以这种格式保存所有数据:

{“_ id”:ObjectId(“56e86f83135beb07942fac1d”),“username”:“fombef”,“time”:ISODate(“2016-03-15T21:24:35.378Z”)等。

有没有办法让这些数据可读并以正式方式保存,如下例所示:

fombef,2016-03-15T21:24:35.378Z

感谢。

1 个答案:

答案 0 :(得分:0)

使用JSON.Net将Bson序列化为一个类,创建一个可以保存数据序列化的类:

public class Myclass
{
    public string Name { get; set; }
    public DateTime Date{ get; set; }
}

serializer.Deserialize<Myclass>(bson);

http://www.newtonsoft.com/json/help/html/DeserializeFromBson.htm