我想序列化本地對象到JSON,但MSDN文檔總是似乎混淆了我。我相信我想使用DataContractJsonSerializer,但不完全確定,因爲我看到了混合響應。我也有人推薦Newtonsoft。Json序列化在C#
有沒有人有這方面的經驗,可以指出我在正確的方向嗎?
我想序列化本地對象到JSON,但MSDN文檔總是似乎混淆了我。我相信我想使用DataContractJsonSerializer,但不完全確定,因爲我看到了混合響應。我也有人推薦Newtonsoft。Json序列化在C#
有沒有人有這方面的經驗,可以指出我在正確的方向嗎?
您可以使用JavaScriptSerializer。
http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx
var thing = new Thing();
var json = new JavaScriptSerializer().Serialize(thing);
除非你有一些非常具體的JSON需求,堅持使用框架序列化。你會發現更多關於最終問題的反饋。
.NET中有很多不同的json庫,它們提供了某種序列化。查看http://json.org/的底部,查找C#的JSON庫列表。無論哪一個最好取決於你的需求。我使用了Newtonsoft的json.net,儘管我個人發現序列化程序非常慢。如果您需要速度Servicestack聲稱有最快的一個(here)。該網站還顯示了一些性能比較,但我沒有嘗試過。
做一些Google搜索,或者乾脆嘗試一下,寫一些測試,或者選擇一個框架並引入沒有額外的依賴關係並完成它。
以及ServiceStack的JSON串行器是最快的.NET JSON serializer。
而僅重159kb它也非常輕便,不太提及包含許多有用的功能,例如, .NET最快的JSV和CSV文本串行器,T.Dump() utils + more。
ServiceStack是優秀的,但它是GPL 3.0,可以很容易地排除許多人的使用。 – Stryck
DataContract.JsonSerializer沒有任何問題。 AFAIK它也用於WCF將對象序列化爲JSON時用於Newtonsoft(Json.Net)的 –
+1。只需搜索JSON並查看答案。 –
如果您可以使用框架工具,而不是添加其他依賴項和開銷。 – f0x