繁体   English   中英

如何在C#中处理JSON?

[英]How to handle JSON in C#?

是否有一个简单/优雅的解析器来处理C#中的JSON? 如何实际序列化/反序列化为C#对象?

JSON.Net是一个非常好的库

var jss = new JavaScriptSerializer();
var data = jss.Deserialize<dynamic>(jsonString);

别忘了引用“ System.Web.Extensions

看到

http://msdn.microsoft.com/en-us/library/system.runtime.serialization.json.datacontractjsonserializer.aspx

基本上,您也可以将“数据契约”模型(通常用于WCF XML序列化)用于JSON。 我发现,对于小任务来说,它非常快速且易于使用。

另请查看此示例:

http://msdn.microsoft.com/en-us/library/bb943471.aspx

DataContractJsonSerializer类。

反序列化:

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(MyObject));
Stream s = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(json_string));
MyObject obj = ser.ReadObject(s) as MyObject;

连载:

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(MyObject));
Stream s = new MemoryStream();
MyObject obj = new MyObject { .. set properties .. };
ser.WriteObject(s, obj);
s.Seek( SeekOrigin.Begin );
var reader = new StreamReader(s);
string json_string = reader.ReadToEnd();

DataContractJsonSerializer用于序列化到对象/从对象序列化。

在Silverlight 3中,有System.Json( http://msdn.microsoft.com/en-us/library/system.json (VS.95) .aspx ),非常方便。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM