है मैं 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);
}
प्रलेखन: Serialize JSON to a file
क्यों? यहां एक feature comparision between common serialisers as well as benchmark tests है। ,
Json.NET हमेशा स्मृति कुशल किया गया है पढ़ने स्ट्रीमिंग और:
यह seperate post, कहा गया है कि:
नीचे प्रदर्शन का ग्राफ जुड़ा हुआ लेख से ली गई है उन्हें पूरी तरह से स्मृति में लोड करने के बजाय बड़े दस्तावेज़ लिखना, लेकिन मैं कुछ प्रमुख स्थानों को खोजने में सक्षम था जहां ऑब्जेक्ट आवंटन को कम किया जा सकता था ...... (अब) Json.Net (6.0) JavaScriptSerializer
से अधिक 8 गुना कम स्मृति आवंटित करता है।
मानक Json.Net 5, वर्तमान संस्करण (लेखन पर) प्रतीत 10 है मानक नेट इस्तेमाल किया serialisers के किन संस्करणों
उल्लेख नहीं है इन परीक्षणों स्पष्ट रूप से कर रहे हैं लाइब्रेरी को बनाए रखने वाले डेवलपर्स से। मैंने अपने दावों को सत्यापित नहीं किया है। यदि संदेह में खुद को परीक्षण करें।
JSON कैसे करता है।एनईटी 'जावास्क्रिप्टसेरियलाइज़र' और 'डेटाकंट्रैक्टजसनसेरियलज़र' कक्षाओं द्वारा प्रदान किए गए अंतर्निहित समर्थन से भिन्न है? –
@RobertHarvey मुझे इसका उपयोग करना आसान और अधिक मजबूत लगता है। मेरा मानना है कि माइक्रोसॉफ्ट सहमत है क्योंकि मुझे लगता है कि वे इसे कोर सिस्टम में लागू करने की योजना बना रहे हैं। मुझे यह भी विश्वास है कि यह बहुत तेज़ है। मैंने इसे वापस करने के लिए कहीं कुछ आंकड़े देखे हैं लेकिन मेरे पास इस समय हाथ नहीं है। – Liam
और यह तारीखों को बेहतर तरीके से लागू करता है, http://www.hanselman.com/blog/OnTheNightmareThatIsJSONDatesPlusJSONNETAndASPNETWebAPI.aspx – Liam