我有一個包含JSON的字符串。關於這個JSON我唯一知道的是它是有效的。如何把這個字符串變成BSON?如何使用Json.NET將JSON轉換爲BSON
5
A
回答
3
Newtonsoft.Json
的BsonWriter
已過時。
您需要添加一個新的NuGet包稱爲Json.NET BSON
(只搜索newtonsoft.json.bson
),並與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);
}
}
4
我認爲這會做的伎倆爲您
MongoDB.Bson.BsonDocument BSONDoc
= MongoDB.Bson.Serialization.BsonSerializer.Deserialize<BsonDocument>(json);
您也可以對Serialize to BSON一看,C# - Converting JSON string to BSON document
2
https://www.nuget.org/packages/Newtonsoft.Json
PM>安裝,包裝Newtonsoft.Json -Version 7.0 .1
using Newtonsoft.Json.Bson;
using Newtonsoft.Json;
class Program
{
public class TestClass
{
public string Name { get; set; }
}
static void Main(string[] args)
{
string jsonString = "{\"Name\":\"Movie Premiere\"}";
var jsonObj = JsonConvert.DeserializeObject(jsonString);
MemoryStream ms = new MemoryStream();
using (BsonWriter writer = new BsonWriter(ms))
{
JsonSerializer serializer = new JsonSerializer();
serializer.Serialize(writer, jsonObj);
}
string data = Convert.ToBase64String(ms.ToArray());
Console.WriteLine(data);
}
}
3
B ehold!還有一個更簡單的方法來做到這一點:
BsonDocument doc = BsonDocument.Parse("{\"your\": \"json\", \"string\": \"here\"}");
2
而在項目中,我注意到,有對
json
轉換爲
bson
文檔簡單而甜蜜的方式使用
json
。
string json = "{\"Name\":\"Movie Premiere\"}";
BsonDocument document = BsonDocument.Parse(json);
現在您可以在任何地方使用document
作爲bson。
注 -我正在使用此document
插入到MongoDb
數據庫中。
希望希望這會對你有幫助。
相關問題
- 1. JSON.Net將XML轉換爲JSON
- 2. 如何使用json.net將c#通用列表轉換爲json?
- 3. 將BSON轉換爲有效的JSON
- 4. 將Bson轉換爲Json對象
- 5. Bash - 將MONGODB BSON轉換爲JSON
- 6. 如何使用json.net將命名的數據錶轉換爲json
- 7. 我如何將XML轉換爲json(不使用Json.NET)
- 8. 如何使用json.net將數據錶轉換爲json字符串?
- 9. 如何將HTML表格轉換爲JSON並將JSON與JSON.NET一起使用?
- 10. 使用C#將XML轉換爲BSON#
- 11. 將json轉換爲xml和json.net
- 12. Json.NET從JSON轉換爲XML
- 13. Mongo-JS - 如何將BSON/JSON對象轉換爲XML
- 14. 如何將Erlang中的JSON轉換爲BSON文檔?
- 15. 將bson轉換爲json(然後轉換爲csv或在Stata中加載json)
- 16. 如何讓Json.NET將Int32轉換爲URI
- 17. 使用JSON.NET將C#對象轉換爲JSON時額外'\'是comign
- 18. C#使用newtonsoft將json數組轉換爲對象列表json.net
- 19. C#將Json數組轉換爲字符串數組使用Json.Net
- 20. 爲BSON和JSON使用JSON.Net最簡單的方法?
- 21. Bson - 如何將JSON轉換爲列表<Document>和列表<Document>轉換爲JSON?
- 22. 如何使用Scala將普通類轉換爲JSON並將其轉換爲JSON?
- 23. 將XML轉換成JSON與json.net
- 24. 將Bson元素轉換爲字符串/ JSON
- 25. 將Bson轉換爲字符串 - MongoDB/Javascript
- 26. 如何使用xsi:nil = true將xml元素轉換爲json如何使用xsi:nil = true將WSO2 ESB -Xml轉換爲JSON
- 27. 如何使用Jackson將javafx.scene.paint.Color轉換爲JSON並從中轉換
- 28. 如何使用JSON.NET將GUID序列化爲BSON中的本機UUID
- 29. twitter json - 無法使用json.net/javascriptserializer轉換爲jobject或jarray
- 30. 使用Json.NET將任何類型的對象轉換爲JObject
更新用戶可能想用這個:'BsonWriter '已經過時了,請查看我的答案 –