Mic*_*eld 4 c# asp.net-mvc serialization json
我启动了一个新的MVC 5 Web API项目,我想手动将对象编码为JSON以保存到数据库.但是,似乎我的项目中至少有四种不同的类似JSON的序列化程序类:
System.Runtime.Serialization.Json.DataContractJsonSerializer
System.Web.Helpers.Json
Newtonsoft.Json.JsonConvert
Newtonsoft.Json.JsonSerializer
我理解为什么这四个在概念上是不同的:一个来自WCF,两个来自Newtonsoft; 两个是快速和脏的转换器,两个是可配置的序列化器等.
我无法弄清楚的是,我应该使用哪一个真的很重要.这4个选项之间是否存在功能差异?如果我使用一个类来序列化而另一个类在另一个应用程序中反序列化,是否会存在互操作性问题?
Newtonsoft序列化器比传统的更快,DataContractJsonSerializer
这就是为什么它通常包含在最新版本的MVC中.你引用的两个Newtonsoft类型不是两个序列化器 - 我相信这JsonConvert
只是一个JsonSerializer
内部使用的实用程序类型.
所以在回答你的问题时,最简单的(也是最快的)序列化/反序列化json的方法是这样的:
// Serialize
YourType instance = new YourType();
string json = JsonConvert.SerializeObject(instance);
// Deserialize
string json = "json_string";
YourType instance = JsonConvert.DeserializeObject<YourType>(json);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1309 次 |
最近记录: |