2012-11-07 60 views
39

我想序列化本地對象到JSON,但MSDN文檔總是似乎混淆了我。我相信我想使用DataContractJsonSerializer,但不完全確定,因爲我看到了混合響應。我也有人推薦Newtonsoft。Json序列化在C#

有沒有人有這方面的經驗,可以指出我在正確的方向嗎?

+1

DataContract.JsonSerializer沒有任何問題。 AFAIK它也用於WCF將對象序列化爲JSON時用於Newtonsoft(Json.Net)的 –

+0

+1。只需搜索JSON並查看答案。 –

+2

如果您可以使用框架工具,而不是添加其他依賴項和開銷。 – f0x

回答

4

除非你有一些非常具體的JSON需求,堅持使用框架序列化。你會發現更多關於最終問題的反饋。

4

.NET中有很多不同的json庫,它們提供了某種序列化。查看http://json.org/的底部,查找C#的JSON庫列表。無論哪一個最好取決於你的需求。我使用了Newtonsoft的json.net,儘管我個人發現序列化程序非常慢。如果您需要速度Servicestack聲稱有最快的一個(here)。該網站還顯示了一些性能比較,但我沒有嘗試過。

做一些Google搜索,或者乾脆嘗試一下,寫一些測試,或者選擇一個框架並引入沒有額外的依賴關係並完成它。

7

以及ServiceStack的JSON串行器最快的.NET JSON serializer

而僅重159kb它也非常輕便,不太提及包含許多有用的功能,例如, .NET最快的JSVCSV文本串行器,T.Dump() utils + more。

+6

ServiceStack是優秀的,但它是GPL 3.0,可以很容易地排除許多人的使用。 – Stryck