I have a string that contains a JSON. The only thing I know about this JSON is that it is valid. How to turn this string into BSON?
The BsonWriter
of Newtonsoft.Json
is obsolete.
You need to add a new nuget-package called Json.NET BSON
(just search for newtonsoft.json.bson
) and work with BsonDataWriter
and BsonDataReader
instead of BsonWriter
and 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);
}
}
while using json
in my project i noticed that there are simple and sweet way to convert json
into a bson
document.
string json = "{\"Name\":\"Movie Premiere\"}";
BsonDocument document = BsonDocument.Parse(json);
now you can use document
as bson anywhere.
Note- I am using this document
to insert into MongoDb
database.
Hoping this will help you.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With