由於對C#不是特別熟悉,可是最近寫個c#的demo,須要對獲取的的json字符串進行解析,其實Newtonsoft.Json也能夠達到效果,具體方法請見評論。json
另外瞭解到System.Web.Script.Serialization也支持想要的功能(http://procbits.com/2011/04/21/quick-json-serializationdeserialization-in-c)c#
首先,在工程中增長引用:System.Web.Extensionside
針對比較簡單的JSON Stringui
{"some_number": 108.541, "date_time": "2011-04-13T15:34:09Z", "serial_number": "SN1234"}
你能夠用以下方式將它解析爲一個Dictionary :ip
using System.Web.Script.Serialization;var jss = new JavaScriptSerializer();var dict = jss.Deserialize<Dictionary<string,string>>(jsonText); Console.WriteLine(dict["some_number"]); //outputs 108.541
針對比較複雜的JSON String字符串
{"some_number": 108.541, "date_time": "2011-04-13T15:34:09Z", "serial_number": "SN1234""more_data": { "field1": 1.0 "field2": "hello" } }
解析方式以下:string
using System.Web.Script.Serialization;var jss = new JavaScriptSerializer();var dict = jss.Deserialize<Dictionary<string,dynamic>>(jsonText); Console.WriteLine(dict["some_number"]); //outputs 108.541Console.WriteLine(dict["more_data"]["field2"]); //outputs hello
其中more_data字段被解析成一個Dictionary
另外,還能夠使用另外一種方式:it
using System.Web.Script.Serialization;var jss = new JavaScriptSerializer();var dict = jss.Deserialize<dynamic>(jsonText); Console.WriteLine(dict["some_number"]); //outputs 108.541Console.WriteLine(dict["more_data"]["field2"]); //outputs hello
另外,Serialization 一樣比較簡單io
using System.Web.Script.Serialization;var jss = new JavaScriptSerializer();var dict = jss.Deserialize<dynamic>(jsonText);var json = jss.Serialize(dict); Console.WriteLine(json)