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();
}
}
}
}
}
}