मैं Json.Net की सिफारिश करूंगा , नीचे उदाहरण देखें:
List<data> _data = new List<data>();
_data.Add(new data()
{
Id = 1,
SSN = 2,
Message = "A Message"
});
string json = JsonConvert.SerializeObject(_data.ToArray());
//write string to file
System.IO.File.WriteAllText(@"D:\path.txt", json);
या उपरोक्त कोड का थोड़ा और अधिक कुशल संस्करण (बफर के रूप में एक स्ट्रिंग का उपयोग नहीं करता है):
//open file stream
using (StreamWriter file = File.CreateText(@"D:\path.txt"))
{
JsonSerializer serializer = new JsonSerializer();
//serialize object directly into file stream
serializer.Serialize(file, _data);
}
दस्तावेज़ीकरण: JSON को किसी फ़ाइल में सीरियल करें
क्यों? यहाँ आम धारावाहिकों के साथ-साथ बेंचमार्क परीक्षणों Here's common के बीच एक सुविधा की तुलना की गई है ।
नीचे दिए गए लेख से लिए गए प्रदर्शन का एक ग्राफ है:
इस अलग पोस्ट में कहा गया है कि:
Json.NET हमेशा मेमोरी कुशल रहा है, बड़े दस्तावेज़ों को पूरी तरह से मेमोरी में लोड करने के बजाय रीडिंग और राइटिंग को स्ट्रीम करता है, लेकिन मैं कुछ ऐसे महत्वपूर्ण स्थानों को खोजने में सक्षम था जहाँ ऑब्जेक्ट एलोकेशन को कम किया जा सकता है ...... (अब) Json.Net (6.0) JavaScriptSerializer से आबंटित करता है 8 बार कम स्मृति ‡
.Net Core 3.0 से अपडेट करें
इसे लिखने के बाद से ब्लॉक पर एक नया बच्चा System.Text.Json
जो .Net Core 3.0 में जोड़ा गया है। Microsoft यह दावा करता है कि यह कैसे, अब, Newtonsoft से बेहतर है । जिसमें यह शामिल है कि यह न्यूटनसॉफ्ट से तेज है । जैसा कि ऊपर, मैं इस अपने आप को परीक्षण करने के लिए आप सलाह देंगे ‡ ।
† बेंचमार्क Json.Net 5 प्रतीत होता है, वर्तमान संस्करण (लिखने पर) 10. मानक .Net धारावाहिकों के किस संस्करण का उपयोग किया गया है, इसका उल्लेख नहीं किया गया है।
Library ये परीक्षण स्पष्ट रूप से उन डेवलपर्स से हैं जो पुस्तकालय का रखरखाव करते हैं। मैंने उनके दावों का सत्यापन नहीं किया है । यदि संदेह है तो स्वयं उनका परीक्षण करें।
JavaScriptSerializer
औरDataContractJsonSerializer
वर्गों द्वारा प्रदान किए गए अंतर्निहित समर्थन से कैसे भिन्न होगा ?