我正在尝试将本地对象序列化为 json,但 msdn 文档似乎总是让我感到困惑。我相信我应该使用 DataContractJsonSerializer 但不完全确定,因为我看到了不同的反应。我也有人推荐过 Newtonsoft。
有没有人有这方面的经验可以为我指明正确的方向?
我正在尝试将本地对象序列化为 json,但 msdn 文档似乎总是让我感到困惑。我相信我应该使用 DataContractJsonSerializer 但不完全确定,因为我看到了不同的反应。我也有人推荐过 Newtonsoft。
有没有人有这方面的经验可以为我指明正确的方向?
您可以使用 JavaScriptSerializer。
http://msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer.aspx
var thing = new Thing();
var json = new JavaScriptSerializer().Serialize(thing);
那么 ServiceStack 的 JSON 序列化器是最快的.NET JSON 序列化器。
重量只有159kb,而且非常轻巧,更不用说包含许多有用的功能,例如 .NET 最快的JSV和CSV文本序列化程序、T.Dump() utils + 更多。
除非您有一些非常特定的 json 需求,否则请坚持使用框架序列化程序。你会发现更多关于最终问题的反馈。
.NET 中有很多不同的 json 库,它们提供了某种序列化。查看http://json.org/的底部以查找 C# 的 JSON 库列表。哪个最好取决于您的需求。我使用过 Newtonsoft 的 json.net,虽然我个人发现序列化程序非常慢。如果您需要速度,Servicestack 声称拥有最快的(此处)。该站点还显示了一些性能比较,尽管我没有尝试过。
做一些谷歌搜索,或者只是尝试一下,编写一些测试,或者只是选择一个框架并且不引入额外的依赖项并完成它。