Newtonsoft.Json.dll 下载 http://json.codeplex.com/
比较
主要类 | 命名空间 | 限制 | 内建LINQ支持 |
DataContractJsonSerializer | System.Runtime.Serialization.Json | 通用 | 否 |
JavaScriptSerializer | System.Web.Script.Serialization | 只能在Web环境使用 | 否 |
JsonArray、JsonObject、JsonValue | System.Json | 只能在Silverlight中使用 | 是 |
JsonConvert、JArray、JObject、JValue、JProperty | Newtonsoft.Json | 通用 | 是 |
JSON
{ "Model": [ { "ModelName": "1", "Table": [ { "TeShu": "1", "BeginTime": "2013-08-06", "Remark": "1", "TeamRefundRemark": "1", "Phone": "1", "CabinHeard": { "ContentT1": "1", "ContentT2": "1", "ContentT3": "1", "ContentB1": "2", "ContentB2": "3", "ContentB3": "", "IsShow": "1" }, "CabinList": [ { "Cabin": "1", "ContentT1": "1", "ContentT2": "1", "ContentT3": "1", "ContentB1": "1", "ContentB2": "1", "ContentB3": "undefined" }, { "Cabin": "1", "ContentT1": "1", "ContentT2": "1", "ContentT3": "1", "ContentB1": "1", "ContentB2": "1", "ContentB3": "undefined" } ] }, { "TeShu": "", "BeginTime": "", "Remark": "", "TeamRefundRemark": "", "Phone": "", "CabinHeard": { "ContentT1": "", "ContentT2": "", "ContentT3": "", "ContentB1": "", "ContentB2": "", "ContentB3": "", "IsShow": "1" }, "CabinList": [ { "Cabin": "undefined", "ContentT1": "undefined", "ContentT2": "undefined", "ContentT3": "undefined", "ContentB1": "undefined", "ContentB2": "undefined", "ContentB3": "undefined" } ] } ] }, { "ModelName": "1", "Table": [ { "TeShu": "", "BeginTime": "", "Remark": "", "TeamRefundRemark": "", "Phone": "", "CabinHeard": { "ContentT1": "", "ContentT2": "", "ContentT3": "", "ContentB1": "", "ContentB2": "", "ContentB3": "", "IsShow": "1" }, "CabinList": [ { "Cabin": "undefined", "ContentT1": "undefined", "ContentT2": "undefined", "ContentT3": "undefined", "ContentB1": "undefined", "ContentB2": "undefined", "ContentB3": "undefined" } ] } ] } ] }
C#
using Newtonsoft.Json.Linq; using Newtonsoft.Json; namespace ConsoleApplication11 { class Program { static void Main(string[] args) { string jsonStr = "{\"Model\":[{\"ModelName\":\"1\",\"Table\":[{\"TeShu\":\"1\",\"BeginTime\":\"2013-08-06\",\"Remark\":\"1\",\"TeamRefundRemark\":\"1\",\"Phone\":\"1\",\"CabinHeard\":{\"ContentT1\":\"1\",\"ContentT2\":\"1\",\"ContentT3\":\"1\",\"ContentB1\":\"2\",\"ContentB2\":\"3\",\"ContentB3\":\"\",\"IsShow\":\"1\"},\"CabinList\":[{\"Cabin\":\"1\",\"ContentT1\":\"1\",\"ContentT2\":\"1\",\"ContentT3\":\"1\",\"ContentB1\":\"1\",\"ContentB2\":\"1\",\"ContentB3\":\"undefined\"},{\"Cabin\":\"1\",\"ContentT1\":\"1\",\"ContentT2\":\"1\",\"ContentT3\":\"1\",\"ContentB1\":\"1\",\"ContentB2\":\"1\",\"ContentB3\":\"undefined\"}]},{\"TeShu\":\"\",\"BeginTime\":\"\",\"Remark\":\"\",\"TeamRefundRemark\":\"\",\"Phone\":\"\",\"CabinHeard\":{\"ContentT1\":\"\",\"ContentT2\":\"\",\"ContentT3\":\"\",\"ContentB1\":\"\",\"ContentB2\":\"\",\"ContentB3\":\"\",\"IsShow\":\"1\"},\"CabinList\":[{\"Cabin\":\"undefined\",\"ContentT1\":\"undefined\",\"ContentT2\":\"undefined\",\"ContentT3\":\"undefined\",\"ContentB1\":\"undefined\",\"ContentB2\":\"undefined\",\"ContentB3\":\"undefined\"}]}]},{ \"ModelName\":\"1\",\"Table\":[{\"TeShu\":\"\",\"BeginTime\":\"\",\"Remark\":\"\",\"TeamRefundRemark\":\"\",\"Phone\":\"\",\"CabinHeard\":{\"ContentT1\":\"\",\"ContentT2\":\"\",\"ContentT3\":\"\",\"ContentB1\":\"\",\"ContentB2\":\"\",\"ContentB3\":\"\",\"IsShow\":\"1\"},\"CabinList\":[{\"Cabin\":\"undefined\",\"ContentT1\":\"undefined\",\"ContentT2\":\"undefined\",\"ContentT3\":\"undefined\",\"ContentB1\":\"undefined\",\"ContentB2\":\"undefined\",\"ContentB3\":\"undefined\"}]}]}]}"; JObject jsonObj = (JObject)JsonConvert.DeserializeObject(jsonStr); JArray modelArray = (JArray)jsonObj["Model"]; foreach (JObject modelObj in modelArray) { string modelName = modelObj["ModelName"].ToString(); JArray tableArray = (JArray)modelObj["Table"]; foreach (JObject tableObj in tableArray) { string teshu = tableObj["TeShu"].ToString(); string BeginTime = tableObj["BeginTime"].ToString(); string Remark = tableObj["Remark"].ToString(); string TeamRefundRemark = tableObj["TeamRefundRemark"].ToString(); string Phone = tableObj["Phone"].ToString(); JObject heardObj = (JObject)tableObj["CabinHeard"]; string T1 = heardObj["ContentT1"].ToString(); string T2 = heardObj["ContentT2"].ToString(); string T3 = heardObj["ContentT3"].ToString(); string B1 = heardObj["ContentB1"].ToString(); string B2 = heardObj["ContentB2"].ToString(); string B3 = heardObj["ContentB3"].ToString(); JArray rowArray = (JArray)tableObj["CabinList"]; foreach (JObject rowObj in rowArray) { string Cabin = rowObj["Cabin"].ToString(); } } } } } }