2015-11-13 8 views
5

का उपयोग कर JSON से BSON को परिवर्तित करने के लिए कैसे करें मेरे पास एक स्ट्रिंग है जिसमें JSON शामिल है। इस JSON के बारे में मुझे केवल एक ही चीज़ पता है कि यह मान्य है। इस स्ट्रिंग को बीएसओएन में कैसे चालू करें?JSON.NET

उत्तर

3

Newtonsoft.Json अप्रचलित है।

आप एक नया nuget-पैकेज Json.NET BSON कहा जाता है (बस newtonsoft.json.bson के लिए खोज) जोड़ सकते हैं और BsonDataWriter और BsonWriter के बजाय BsonDataReader और BsonReader के साथ काम करने की जरूरत है: `BsonWriter:

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); 
    } 
} 
2

https://www.nuget.org/packages/Newtonsoft.Json

PM> इंस्टॉल करें-पैकेज Newtonsoft.Json -संस्करण 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); 
     } 
    } 
+0

उपयोगकर्ताओं के लिए अद्यतन संभवतः इस प्रयोग करना चाहते हैं अप्रचलित है, मेरा जवाब जांचें –

3

बी ehold! यह करने के लिए एक बहुत सरल तरीका है:

BsonDocument doc = BsonDocument.Parse("{\"your\": \"json\", \"string\": \"here\"}"); 
2

जबकि मेरी परियोजना मैं देखा एक bson दस्तावेज़ में json कन्वर्ट करने के लिए सरल और मीठी तरह से देखते हैं कि में json का उपयोग कर।

string json = "{\"Name\":\"Movie Premiere\"}"; 
BsonDocument document = BsonDocument.Parse(json); 

अब आप document bson के रूप में कहीं भी उपयोग कर सकते हैं।

नोट- मैं MongoDb डेटाबेस में डालने के लिए इस document का उपयोग कर रहा हूं।

उम्मीद करते हुए यह आपकी मदद करेगा।