我有一个包含JSON的字符串.我对这个JSON唯一了解的是它是有效的.如何将此字符串转换为BSON?
Mat*_*ger 12
该BsonWriter的Newtonsoft.Json是过时的.
你需要添加一个名为Json.NET BSON(只搜索newtonsoft.json.bson)的新nuget-package 并使用BsonDataWriter和BsonDataReader代替BsonWriter和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);
}
}
Run Code Online (Sandbox Code Playgroud)
json在我的项目中使用时,我注意到有一种简单而甜蜜的方法可以转换json为bson文档。
string json = "{\"Name\":\"Movie Premiere\"}";
BsonDocument document = BsonDocument.Parse(json);
Run Code Online (Sandbox Code Playgroud)
现在你可以document在任何地方用作 bson。
注意 -我正在使用它document插入MongoDb数据库。
希望这会帮助你。
看!有一种更简单的方法可以做到这一点:
BsonDocument doc = BsonDocument.Parse("{\"your\": \"json\", \"string\": \"here\"}");
Run Code Online (Sandbox Code Playgroud)
我认为这将为您解决问题
MongoDB.Bson.BsonDocument BSONDoc
= MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(json);
Run Code Online (Sandbox Code Playgroud)
您也可以看看将序列化为BSON和C#-将JSON字符串转换为BSON文档
| 归档时间: |
|
| 查看次数: |
17660 次 |
| 最近记录: |