2009-11-12 67 views
4

在C#中處理JSON是否有一個簡單/優雅的解析器?如何實際序列化/反序列化到C#對象?如何在C#中處理JSON?

+1

作爲附錄這個問題,任何人都可以說出System.Web.Script.Serialization.JavaScriptSerializer'是否'適用於這個問題(HTTP:/ /msdn.microsoft.com/en-us/library/system.web.script.serialization.javascriptserializer(loband).aspx)?我很好奇。 – 2009-11-12 03:53:18

回答

8

JSON.Net是一個相當不錯的圖書館

+0

JSON.Net一路讓使用json更容易 – RC1140 2009-11-12 07:18:04

1

還有的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(); 
3
var jss = new JavaScriptSerializer(); 
var data = jss.Deserialize<dynamic>(jsonString); 

不要忘了參考「System.Web.Extensions