如何使用Json.NET将JSON转换为BSON

帕特里克(PatrykGołębiowski)

我有一个包含JSON的字符串。我对此JSON唯一了解的是它是有效的。如何把这个字符串变成BSON?

马蒂亚斯·伯格(Matthias Burger)

BsonWriterNewtonsoft.Json是过时的。

您需要添加一个名为Json.NET BSON(只需搜索newtonsoft.json.bson的新nuget-package 并使用BsonDataWriterandBsonDataReader代替BsonWriterand BsonReader

public static string ToBson<T>(T value)
{
    using (MemoryStream ms = new MemoryStream())
    using (BsonDataWriter datawriter = new BsonDataWriter(ms))
    {
        JsonSerializer serializer = new JsonSerializer();
        serializer.Serialize(datawriter, value);
        return Convert.ToBase64String(ms.ToArray());
    }

}

public static T FromBson<T>(string base64data)
{
    byte[] data = Convert.FromBase64String(base64data);

    using (MemoryStream ms = new MemoryStream(data))
    using (BsonDataReader reader = new BsonDataReader(ms))
    {
        JsonSerializer serializer = new JsonSerializer();
        return serializer.Deserialize<T>(reader);
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章