C#对XML、JSON等格式的解析
C#对XML、JSON等格式的解析
一、C#对XML格式数据的解析
1、用XMLDocument来解析
XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load("test.xml"); //创建新节点
XmlElement nn = xmlDocument.CreateElement("image");
nn.SetAttribute("imageUrl", "6.jpg"); XmlNode node = xmlDocument.SelectSingleNode("content/section/page/gall/folder");//定位到folder节点
node.AppendChild(nn);//附加新节点 //保存
xmlDocument.Save("test.xml");
2、用Linq to XML来解析
可以通过遍历,来获得你想要的节点的内容或属性
XElement root = XElement.Load("test.xml");
foreach (XAttribute att in root.Attributes())
{
root.Add(new XElement(att.Name, (string)att));
}
Console.WriteLine(root);
3、附一个详细点的例子
比如要解析如下的xml文件,将其转化为Ilist对象。
<?xml version="1.0" encoding="utf-8"?>
<Car>
<carcost>
<ID>20130821133126</ID>
<uptime>60</uptime>
<downtime>30</downtime>
<price>0.4</price>
</carcost>
<carcost>
<ID>20130821014316</ID>
<uptime>120</uptime>
<downtime>60</downtime>
<price>0.3</price>
</carcost>
<carcost>
<ID>20130822043127</ID>
<uptime>30</uptime>
<downtime>0</downtime>
<price>0.5</price>
</carcost>
<carcost>
<ID>20130822043341</ID>
<uptime>120以上!</uptime>
<downtime>120</downtime>
<price>0.2</price>
</carcost>
</Car>
在控制台应用程序中输入如下代码即可。
class Program
{
static void Main(string[] args)
{
IList<CarCost> resultList = new List<CarCost>(); XmlDocument xmlDocument = new XmlDocument();
xmlDocument.Load("test.xml"); XmlNodeList xmlNodeList = xmlDocument.SelectSingleNode("Car").ChildNodes;
foreach (XmlNode list in xmlNodeList)
{
CarCost carcost = new CarCost
(
list.SelectSingleNode("ID").InnerText,
list.SelectSingleNode("uptime").InnerText,
list.SelectSingleNode("downtime").InnerText,
float.Parse(list.SelectSingleNode("price").InnerText)
);
resultList.Add(carcost);
} IEnumerator enumerator = resultList.GetEnumerator();
while (enumerator.MoveNext())
{
CarCost carCost = enumerator.Current as CarCost;
Console.WriteLine(carCost.ID + " " + carCost.UpTime + " " + carCost.DownTime + " " + carCost.Price);
}
}
} public class CarCost
{
public CarCost(string id, string uptime, string downtime, float price)
{
this.ID = id;
this.UpTime = uptime;
this.DownTime = downtime;
this.Price = price;
}
public string ID { get; set; }
public string UpTime { get; set; }
public string DownTime { get; set; }
public float Price { get; set; }
}
二、C#对JSON格式数据的解析
引用Newtonsoft.Json.dll文件,来解析。
比如:有个要解析的JSON字符串
[{"TaskRoleSpaces":"","TaskRoles":"","ProxyUserID":"5d9ad5dc1c5e494db1d1b4d8d79b60a7","UserID":"5d9ad5dc1c5e494db1d1b4d8d79b60a7","UserName":"姓名","UserSystemName":"2234","OperationName":"送合同负责人","OperationValue":"同意","OperationValueText":"","SignDate":"2013-06-19 10:31:26","Comment":"同意","FormDataHashCode":"","SignatureDivID":""},{"TaskRoleSpaces":"","TaskRoles":"","ProxyUserID":"2c96c3943826ea93013826eafe6d0089","UserID":"2c96c3943826ea93013826eafe6d0089","UserName":"姓名2","UserSystemName":"1234","OperationName":"送合同负责人","OperationValue":"同意","OperationValueText":"","SignDate":"2013-06-20 09:37:11","Comment":"同意","FormDataHashCode":"","SignatureDivID":""}]
首先定义个实体类:
public class JobInfo
{
public string TaskRoleSpaces { get; set; }
public string TaskRoles { get; set; }
public string ProxyUserID { get; set; }
public string UserID { get; set; }
public string UserName { get; set; }
public string UserSystemName { get; set; }
public string OperationName { get; set; }
public string OperationValue { get; set; }
public string OperationValueText { get; set; }
public DateTime SignDate { get; set; }
public string Comment { get; set; }
public string FormDataHashCode { get; set; }
public string SignatureDivID { get; set; }
}
然后在控制台Main函数内部输入如下代码:
string json = @"[{'TaskRoleSpaces':'','TaskRoles':'','ProxyUserID':'5d9ad5dc1c5e494db1d1b4d8d79b60a7','UserID':'5d9ad5dc1c5e494db1d1b4d8d79b60a7','UserName':'姓名','UserSystemName':'2234','OperationName':'送合同负责人','OperationValue':'同意','OperationValueText':'','SignDate':'2013-06-19 10:31:26','Comment':'同意','FormDataHashCode':'','SignatureDivID':''},{'TaskRoleSpaces':'','TaskRoles':'','ProxyUserID':'2c96c3943826ea93013826eafe6d0089','UserID':'2c96c3943826ea93013826eafe6d0089','UserName':'姓名2','UserSystemName':'1234','OperationName':'送合同负责人','OperationValue':'同意','OperationValueText':'','SignDate':'2013-06-20 09:37:11','Comment':'同意','FormDataHashCode':'','SignatureDivID':''}]
"; List<JobInfo> jobInfoList = JsonConvert.DeserializeObject<List<JobInfo>>(json); foreach (JobInfo jobInfo in jobInfoList)
{
Console.WriteLine("UserName:" + jobInfo.UserName + "UserID:" + jobInfo.UserID);
}
这样就可以正常输出内容了。
我想肯定有人会问,如果有多层关系的json字符串该如何处理呢?没关系,一样的处理。
比如如何解析这个json字符串:[{'phantom':true,'id':'20130717001','data':{'MID':1019,'Name':'aaccccc','Des':'cc','Disable':'启用','Remark':'cccc'}}] ?
首先还是定义实体类:
public class Info
{
public string phantom { get; set; }
public string id { get; set; }
public data data { get; set; }
} public class data
{
public int MID { get; set; }
public string Name { get; set; }
public string Des { get; set; }
public string Disable { get; set; }
public string Remark { get; set; }
}
然后在main方法里面,键入:
string json = @"[{'phantom':true,'id':'20130717001','data':{'MID':1019,'Name':'aaccccc','Des':'cc','Disable':'启用','Remark':'cccc'}}]";
List<Info> infoList = JsonConvert.DeserializeObject<List<Info>>(json); foreach (Info info in infoList)
{
Console.WriteLine("id:" + info.data.MID);
}
按照我们的预期,应该能够得到1019的结果。
截图为证:
另外,对于有些json格式不是标准的,可以使用通用的方法进行解析。
string jsonText = @" {'Count':1543,'Items':[{'UnitID':6119,'UnitName':'C'}]}";
JsonReader reader = new JsonTextReader(new StringReader(jsonText));
while (reader.Read())
{
Console.WriteLine(reader.TokenType + "\t\t" + reader.ValueType + "\t\t" + reader.Value);
}
附Newtonsoft.Json.dll下载地址:下载吧
——————————————————————————————————————————————————————————————————————
再附一个JSON解析的例子,来自于兔子家族—二哥在本篇博客下的回复。
JSON字符串1:{success:true,data:{id:100001,code:\"JTL-Z38005\",name:\"奥迪三轮毂\",location:\"A-202\",qty:100,bins:[{code:\"JTL-Z38001\",name:\"奥迪三轮毂\",location:\"A-001\",qty:100},{ code:\"JTL-Z38002\",name:\"奥迪三轮毂\",location:\"A-002\",qty:100}]}}
定义数据结构:
public class Data
{
public Boolean success { get; set; }
public Data1 data { get; set; }
} public class Data1
{
public Int32 id { get; set; }
public string code { get; set; }
public string name { get; set; }
public string location { get; set; }
public Int32 qty { get; set; }
public List<Data2> bins { get; set; }
} public class Data2
{
public string code { get; set; }
public string name { get; set; }
public string location { get; set; }
public Int32 qty { get; set; }
}
Main函数:
class Program
{
static void Main(string[] args)
{
string json = "{success:true,data:{id:100001,code:\"JTL-Z38005\",name:\"奥迪三轮毂\",location:\"A-202\",qty:100,bins:[{code:\"JTL-Z38001\",name:\"奥迪三轮毂\",location:\"A-001\",qty:100},{ code:\"JTL-Z38002\",name:\"奥迪三轮毂\",location:\"A-002\",qty:100}]}}";
Data data = JsonConvert.DeserializeObject<Data>(json); foreach (var item in data.data.bins)
{
//输出:JTL-Z38001、JTL-Z38002,其它类似
Console.WriteLine(item.code);
}
}
}
JSON字符串2:{\"success\":true,\"data\":{\"name\":\"张三\",\"moulds\":{\"stockImport\":true,\"stockExport\":true,\"justifyLocation\":true,\"justifyBin\":false,\"binRelease\":false}}}
在控制台应用程序下的完整代码:
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string json = "{\"success\":true,\"data\":{\"name\":\"张三\",\"moulds\":{\"stockImport\":true,\"stockExport\":true,\"justifyLocation\":true,\"justifyBin\":false,\"binRelease\":false}}}";
Data data = JsonConvert.DeserializeObject<Data>(json);
Console.WriteLine(data.data.moulds.binRelease);//输出False
}
} public class Data
{
public Boolean success { get; set; }
public Data1 data { get; set; }
} public class Data1
{
public string name { get; set; }
public Data2 moulds { get; set; }
} public class Data2
{
public Boolean stockImport { get; set; }
public Boolean stockExport { get; set; }
public Boolean justifyLocation { get; set; }
public Boolean justifyBin { get; set; }
public Boolean binRelease { get; set; }
}
}
JSON字符串3:
{
"success": true,
"data": {
"id": 100001,
"bin": "JIT-3JS-2K",
"targetBin": "JIT-3JS-3K",
"batchs": [
"B20140101",
"B20140102"
]
}
}
他的问题主要是不知道batchs这里怎么处理,其实很简单就是一个数组而已。
完整代码如下:
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string json = "{\"success\": true,\"data\": {\"id\": 100001,\"bin\": \"JIT-3JS-2K\",\"targetBin\": \"JIT-3JS-3K\",\"batchs\": [\"B20140101\",\"B20140102\"]}}";
Data data = JsonConvert.DeserializeObject<Data>(json); foreach (var item in data.data.batchs)
{
Console.WriteLine(item);//输出:B20140101、B20140102
}
}
} public class Data
{
public Boolean success { get; set; } public Data1 data { get; set; }
} public class Data1
{
public Int32 id { get; set; } public string bin { get; set; } public string targetBin { get; set; } public string[] batchs { get; set; }
}
}
除了上述返回类的实体对象做法之外,JSON.NET还提供了JObject类,可以取自己指定节点的内容。
比如:
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string j = "{success:true,data:{ bin:{code:\"JTL-Z38001\",name:\"奥迪三轮毂\",location:\"A-001\",qty:100}}}";
JObject jo = (JObject)JsonConvert.DeserializeObject(j);
Console.WriteLine(jo);
}
} public class Data
{
public Boolean success { get; set; }
public Data1 data { get; set; }
} public class Data1
{
public Data2 bin { get; set; }
} public class Data2
{
public string code { get; set; }
public string name { get; set; }
public string location { get; set; }
public Int32 qty { get; set; }
}
}
直接运行,返回结果如下:
aaarticlea/png;base64,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" alt="" />
如果输出内容修改为:
Console.WriteLine(jo["data"]);
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPIAAACkCAYAAACtv3NOAAAQPElEQVR4Ae1diZIbtw7cbPnD8un5M2daScttGDxGc5EzPVVaEkDjYJMItVr5vb++vr5+Li8/ZsAMTMzA98S1u3QzYAb+Z8CN7KNgBm7AgBv5BpvoJZiBH6Tgn3/+4fTr77//fs89MQNmYHwGXo3MJnYDj79hrtAMZAz4rXXGinVmYDIGvn0bT7ZjLtcMJAy8bmS/pU6YscoMTMTAq5F5K09Ut0s1A2ZAGPjmbexmFlY8NQOTMeAPuybbMJdrBjIG/lqUr+9a643MWzpzsM4MmIHxGHg38niluSIzYAZ6GfBb616mjDMDAzPgRh54c1yaGehlwI3cy5RxZmBgBtzIA2+OSzMDvQy4kXuZMs4MDMyAG3ngzXFpZqCXgfe/R+51iDj+/Zl/e1aZc/jQHv0pE9vCEc8x+kWZuK0j4yLO2hq35ra/GWgxcOiNfJcDzybGeu6yptbBsH0uBjbfyHst98gGYSOi1iPz7MWF45iBtQxsbmQ0hjYKCsiaRTFqV330jbZopxxxGh+YLQ9j7xlzSz32NQMZA4d/RTM2QpRZVKaPuijT96jx7HxHrcNx78/Aob8jz04fb2E29Ozrcf33ZeARjYxG5GvtVrqZ1zJm/BUMPKKRryDWOc3AmQxs/rCrVizfkuJW4xx43nKYq15lxUC/5dkaC/6ok7VujbdlLfY1AxkDh3/YlSW1zgyYgX0Z8Fvrffl0NDNwCQNu5Etod1IzsC8DbuR9+XQ0M3AJA27kS2h3UjOwLwNu5H35dDQzcAkDbuRLaHdSM7AvA4f+Hbmn1Pi32Sj3xOjBMC6wa/4OTD/6RLkndw0T40WZvtRTRj1RpzbMo51rIK41Rn/FM1bEUE/sWjv8NEb0j3bNo36qVx/Gy7D0mXF8zI08+8Zp/T1zPbxxvvagIp/mpL82Be3UAcO5+lOX2WMMYukf7bEOyk8cL7+R70A6DxzWwsN2xrqyXJluSy2MxzVSPmKtzFGqN9qjXPJ7gv7yRsbBiBuih6VmwwattcdNbfm36ovx1spHx19bj+J1H1S/dg6OW7HiPsQcmZ0xMxv9gYl2+hFzh/HyRgaJSqzOuQHUQcZLZfXvseumAV/zJ5b5FEtbSaf21rwVv+X/qZ3rz/y1JuJUpz60Q6cYzGnjqHaNQV/ioq3HnvnQj7ZafmJmHIdo5F7ijtqE2uHpre0IHOvae92Ii5g9cXtqYBxgGRt8YI4Hds4xEv8yLj9ooxzHlj3inyhP1chHbVA8WGvz6EHbGmtt7rV4rXWtL/GIsXadwNdyt+K17KztqeNUjcyDcNSmHh1/tkOW8UEd1sL51v1o+bfsW3nlOhDn6Fxbay35D//PGJXkjOg1dmwS8dwwyiSIespXj636avZo07X0rLPHP2Ji3LV21Kgxor/aM5vaMe95NI7m7vEdBTN8I49ClOu4JwNs4lkbmLviRiYTHs3AxAx8T1y7SzcDZuB/BtzIEx4Fvh3co/Q9Y5XqqeWo2TReL059njSf6lPrJ21Maa040Gt+n1uLL+W9Qh+bV2VyoDrUSP0V9V6Z0418JfudueNhjbKGiQcZMvBRrz61eS1Xya83F+viGONpnBIGPsR9UmvMOavsRp5k53hYa+X2HOQME3WaS+e13JlN4+p8TUz143yNf1bXXXU/l4Vd9lo25yderCHK1F81xnqivLWuGC/KiA+djqU5cbWaIqYl12L12GJ8+kR9lIlrjeqnc/pBp/ooEzf76Bt52cFZHtxEy0H80hspyqOuRevUOestrY32OGZ46oDF/EmPG3mH3cbB5HPkAWKebMzyEofaMjtrPmpE/pg30zE/sKyZfhyJwRgxasvwar/r/PJG1s0jydwMbhj1GGmjLmLUHm30qWHUxnwxTsQw7icjYvXGJzYbs9ysM8ZvyTFWxEe7ysxJnfrGuWJhg6w6ndOOuNRrPOZTO+cRR3/1ucP8/fvpspih5ssGrPr9poaHDetTjM6jbSQutHbWRR3r1pEYjhk2s9ViEP/pqDXEPNGmOWCLr2ivyWq78/zyG3khd9OzbPImfzjvEWNzER0B9CYpzTvCDAUB97qWWBxsLUz0eaI8dSOzAXkQKK/dSPqv9SNe826NxZg6ZjGzw53hNM7Vc/LEOrM1xBqJ4RjtiEUbx4h5gjx1I++9QTgIeHjQXsKFP1hPqYSavbaG6BflUr61+hg31hTlUnzG4djrV4oX9YwL/d6xY64j5aF+L14W+q5nIbj5OzIxGOFLOc4ZV+2KiXriRxx1rT31Ed+D3RvD3BwZP8qf6lt+tNdG1MJXDTeyzf+McdmdWZ7lsL1K1Vsj0+l6YAeeo9pac8Zu4TK71gh7zB9lxlA95qVH49OHY8kn0zOHxstwo+vcyKPv0FJfz2HLMNDpASWmZ8nq14NvYWItwJfqyXJn/oyh+BKuVd8d7O+3sstiPB+Ig+VQ/varRc/+fOLTE3crBnVtiRH9a+uM2C15Z/H1jbzslB8zMDsD37MvwPWbATPw9eVG9ikwAzdgwI18g030EszA5V8IWT6YeO0CP3ksydwq4iiPMsa696orxo3y1jwxXpQRP9P15qWv4nUPW3b6Aad+qsecNsajTNzdx+FvZGzI1ZvCw3H3w5CtT9eu8wwbdcRzD7mP1HMs2RmPOMoe/2Tg8hv5z5LG0vQeIh7SK6rXGvesg3EZEzJelNeulfFKftEe5ZKf9V9flzcyDkXcsDUHpeW7xa6+Otf6VI8DpTbINXu0Zf6IF3ExB/w+fY6Oz7riGqjnmNm5zsxGv7PqZ75Rx8sbGcRww+K8RRo3mP6Q8VJZY0a72jCPdsSBDg9jvgT5QT1xYvrDFxi86EMs5ZYdeGLpW9KpvTXXmDpv+aHe0pPFga7lU7P35MrylvzupB+ikc8iNNvkTw7OWfWOkqfEUcZnVnPJn9iWnTiPZQYe1ciRBh4gHkjKETe6rHVzLXvWzJiaZ218xij5tewlP+v/Y+BRjcyD+Omh2er/1EPX4rtl38ob9w1xjs61tdZP/Yf/rrVugi6SGxLt1BO7xg5f4jUOdYipeshqg8yHuGinHjjaqIsyY101xnqi3FMXfRTL9UJXs2c2+Kg/5Najcdb6tmKPYh++kUchynXMyQCb+K4NzF1xI5MJj2ZgYga+J67dpZsBM/A/A25kHwUzcAMG3Mg32EQvwQy4kX0GzMANGHAj32ATvQQzcPkXQuKfB6J89BbFfFHeKz/iZn8CYT7No7iWXf08fy4Dt7iRs8M+0paW6qMejcsX6qaeI20Y1f4S/MMMLAxcfiNv3QUe9q1xav6ag81Uw9OmftTVxha+Za/Ftu3eDFx+I2eNoTocXr6wFXHO7aEeoz7UUxdlzUVMpqNtzYg4vbFi3TFPyx7xlp/FwBA3sh52nfPwUhdl6KPuk+1jfPjqnLEyHW17jsjD9WRxW/bMx7pnMHD5jfwMmuurrDUvPFv2enRbn8DAEDfy6ERrIx11O7fituyjc+j6jmXgVjcyGk6bDtSxAdRG3bHU9kdv1dOy92cy8q4MDP+vn2JjYiPiwVZMtOnGEVfDKH7rnPliHM2fYdbYY2zLz2Rg+EbWbeGh14Ou9tp8i28trm1mYAQGpmlkNiJJ62nmT3wY36MZmImBaRp5JlJdqxk4m4Fbfdh1NnnOZwZGYcCNPMpOuA4zsIEBN/IG8uxqBkZhwI08yk64DjOwgYFN3+zST4V7PkXeUKddzYAZqDCwy6fWbGg3c4Vpm8zAgQz4rfWB5Dq0GTiLgV0amTcxb+azinceM2AG/mNgl0ZGKDezj5QZuI6B3RqZtzEb+rolObMZeB4DuzSym/h5B8crHouBXRp5rCW5GjPwPAb8d+Tn7blXfEMGdvk78g158ZLMwFQM+K31VNvlYs1AzoAbOefFWjMwFQNu5Km2y8WagZwBN3LOi7VmYCoG3MhTbZeLNQM5A27knBdrzcBUDHzjW1n8ZtZUlbtYM2AG3gx887vRbuY3J56YgekY8Fvr6bbMBZuBPxl4NbJv5T+JscYMzMTA+0Z2M8+0ba7VDPzOwLuR+TsyG/p3mCUzYAZGZuDVyG7ikbfItZmBNgPvG7kNNcIMmIFRGXj9HRnF+S31qFvkusxAmwH/e+Q2R0aYgeEZ8Fvr4bfIBZqBNgNu5DZHRpiB4RloNjI/0W6tpIQr6bN4NWzNtjZWxPfEbmFq9pqNtdQwNRv9PT6bgR84JEd+0IXYW3LoIS7FUYxuZ6Y/cq3MXaqTdo9mYG8GfsRGyw5/1B3dDGvzsZ5SA5X0SiZzkg/YdA5ZMZD59MQnNhszf+YiXmWulzaPZgAM/FwOyU+M2atmU7ziMG+91Bdz9VdbSa8YnUd8lBXLeYaJOsoc6Ysx6iCrrjRnjDV2+njMz+tTeXn971rH/8IvB2vh49ejsmJVDzRk2jn+ivJrFv1+WdbNSnGiPsrIwvpg4zxmj36U1ac0R0y1IXaUS7pYh2Uz0GKg+Xfk7PBlQYnjSExLBg4YPFlDRf8XcMcfzM2QWQPCxjo4Ukc/jKxfMcTRpnjg4sP8UR/lLF7EWH4OA68Pu7BcHozscGU64iNVJT1xLTtxa8esxhgj5oYPdBwjHjJsfHQOncaLtppMP46IBTxljtBnT4ydYax7FgOvG1kP0afL5+HCIeS8FouHlbl7fDQe/aljHMpxrNnVpnVoDsW0YkdslFv+tKsf5xyJ8WgGwED6//2Ew1J69HATQzxtHOOha8n0Y1yM0UdtcQ7smkfxnLMGyhwRl3NiqFM55qcPxgxX0iMO8NGexYg5LT+PgbSRQUN2YHCo9KHMA6e2nnmWo8evhKnFY63qS7w2i86BzTCMwZgcFY85Y8Wx5s8Y9GF++ng0AxkDxUbGQWo9tUPGg9iKsae9p+Y1+WI8lbF2vKDDGJ9MH/FR1hg1m+I8NwNgoNjIpcPZSxsPIvCcZzF747VwGjtropY/7aVaSzE1L2Ng7NVnOOTiU5qrn2JUzxit8Wr/Vn22txn4rZGxoTwIurntMDlCY3GeIz/XsmaOiIRcKmv0kh6Ymk1jZHP44vl0nfTPYrAujq9E/mEGAgPvb2Et+te3u5YDs/pbXi2fkn1LTvgyLsdSPLXrnDGoiyPjZSOwfKmdMaiLsuozf9oxRt8oK9bz537b630j126S5fAUb5peG+LXsMshfD3AxCfqWGstHjExVkmO9VGu4YnJcsWaowyfmj/yZutr+ZTqtf7eDKTf7MoOUKYjNdEGGQ8OXXwilvaSnvaekXlL2KyeEvZKPddRqncPrq5cn3Pvz0DayPuncUQzYAaOZOD7yOCObQbMwDkMuJHP4dlZzMChDLiRD6XXwc3AOQy4kc/h2VnMwKEMuJEPpdfBzcA5DLiRz+HZWczAoQy4kQ+l18HNwDkMuJHP4dlZzMChDLiRD6XXwc3AOQy4kc/h2VnMwKEMuJEPpdfBzcA5DLiRz+HZWczAoQy4kQ+l18HNwDkMuJHP4dlZzMChDLiRD6XXwc3AOQy4kc/h2VnMwKEMuJEPpdfBzcA5DLiRz+HZWczAoQy4kQ+l18HNwDkM/AvMLx1Lj2m8IQAAAABJRU5ErkJggg==" alt="" />
继续取bin节点。
Console.WriteLine(jo["data"]["bin"]);
aaarticlea/png;base64,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" alt="" />
最后我们取其中name对应的value。
Console.WriteLine(jo["data"]["bin"]["name"]);
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAANwAAABECAYAAADqb1uvAAAHb0lEQVR4Ae1b23EjRwzUqS4kB6AoXOUQHJmrHIU+/eEQ/OUILoPz9J6b1wSBmV2KEjmjnioJr8ZjgIEkus5fvv31+/cnH3fAHfiQDjx/SBYncQfcga0DX//595tb4Q64Ax/Vgb///A1/UqZfr6+vqb7C9/S3jFXl6eXo2TTeXpz6mM/fj/ty2ZevrSnpaQ/v6eXlJbVlyqP4LMa9dKhdj8rsgeqApV79zLsDow6cLVx8VFHWYPHBQQY+6tWnx/dyVX57c7Eu0hhP41QY+BB3Ta0xp+XP2YGzhUML+Kh67djz4DJM1Gku5Xu5M5vGVf5ITPUjf8Q/q8s6d+CiA/oZrj207TMbaQN/z3jVAZN9RcxIzmIc0cX49I36KBM3ouqn/MjP9vx9fNa+XPyGa414wk/29qg2Chknyj+0j/dd61SelVZ3oz3SDE8dsOB93IG9HUgXDg8VJ6PZAyMOPpkd+vc8yB/zZjrWACxrph8pMaARo7YMr3bz7kDWgXTh+CAzmgXh4+MDJWYkE0ca8dRnlDlpU9/IKxY2yKpTnnbEpV7jMZ/aVWfeHeh24Jaf4drDPH2eU74VcPZZMJOhu8VXL2+0aT7Y4le092S1mb/NLFfsY/kbrl12O/wpD0H5H9Z5vrdl6taPu40w89zWlT5qB561sGyh8AjjyXARc08ZNWvd4Ec1E6N+egf400as2s27A3s6sP2G40OqHHr23kOOflGu8h3Vx7ixpihX8RmHdK9fFc96d+CiA/oZrhnPPke1h7fJpNEe5b246HcLmblJGTPK1+pHfrSbnr8h9+O8H+lnuPZIW59+fmbDT/qo2wDyDXbijv5mYGwJt5tlLtLdjgKM+VXWuG+5o6Qz+4k78AW/4X759Y+tBXxo+shibzIMHyKxxFDu0V6unl9li7UAV9WT5c78GUPxFa6qy3p3YOsAFq49nov/bN+MZ39eRvkanxjjPWTU9Za40b93z4h9S1779t/bMv3pfYbTS+59XBWu0msO8j1sz0Z/pUfwe7AjTM/es7HmHqZno7/pYy/u6TNcG+aT/snUBnfTg9hvyQFfniqOYogFzfTveVfmruqk3fTzdeC0cHEhskcade/9aI/mYz3VQ6/0OnbmZD9gUx6yYiDz7IlPbEYzf+YiXmXelzbTCTqgf1K2YZaff3q2ds2Tn+LAj77UF7z6q63SK0b5iI+yYslnmKijTEpf0KiDrLqKZ4wjdvqY/nx7M/Ti9BuuFbv9JAflaQ+A7EZV1p+uqgcQMu2kZ4H+F6Jfhtmjq+JEfZQRm/XBRj7mjH6U1afiEVNtiB3lShfrsDx/B84WLl5HH2D2SIjPcBE/khELmGuO5r/Gnz6aP1sU4ICJNvqRxnpGMv1IkYc5wOtRDPQxtmLNP14HtoXTIXKAqmPZmY54Ykgr/V47cUdpVmOMEWuDD3SkEQ8ZNh7lodN40daT6UeKWMBTJoU+OzF2hrHusTqwLRwHqwOk7ppy+Wg0HuJEGTrmUZ8MN/KHnYcxKSvNYmd44lgXMZQ1JvnMRj9gMjt9e3b1I0+q/uYfvwPdPykx1OroQyKGeNpI4+MYyfRjXNDoo7bIA3vkKJ48a6BMirjkiaFO5ZifPqAZrtIjDvDRnsWIOS0/Xge6C4dys8Fi+Hoo82GobQ+f5djjV2F68Vir+hKvj1p5YDMMYzAmqeLBM1akPX/GoA/z08d0zg4MFw4DH53eY+CDGcW4pX1PzUfyxXgq4+74gg40nkwf8VHWGD2b4szP0YHhwlWPaO/1+GCAJ5/F3BtvhNPY2WMf+dNe1VrF1LyMAbpXn+GQi6fi1U8xqmeMEb23/6i+FezpwqHxHJgO4doLayzy18aq/FgzKXDIpbL6VnpgejaNkfHwxbn2nvTPYrAu0i3RAt/0ztl1ru1lFuveuouFi8PMLjtqUHYpxiXNMB+hY37ci7zmpS5SYkb9yOz0rShy8VT+rAc4YFQe+dI+olXukR/tb/VnnJXpxcL1mpYNmc3Za6seC+OQIl48Ucdae7mJibEqOdZHuYcnJssVa44yfHr+yJvdb+RT1Wv9fTtw9j+gxlKyQWc6+kUbZBw8jngilvZKT/seyrwVNqunwt5Tz3tU9d6iV/e8H3PznpQjre4fcVPI+o+XW8Gnf4Rs3r3wG7j9G3ie4qeCi3QHFumAF26RQfoac3TACzfHnFzlIh3wwi0ySF9jjg544eaYk6tcpANeuEUG6WvM0QEv3BxzcpWLdMALt8ggfY05OuCFm2NOrnKRDnjhFhmkrzFHB7xwc8zJVS7SAS/cIoP0NebogBdujjm5ykU64IVbZJC+xhwd8MLNMSdXuUgHvHCLDNLXmKMDXrg55uQqF+mAF26RQfoac3TACzfHnFzlIh3wwi0ySF9jjg544eaYk6tcpANeuEUG6WvM0QEv3BxzcpWLdMALt8ggfY05OuCFm2NOrnKRDnjhFhmkrzFHB7xwc8zJVS7SAS/cIoP0NebogBdujjm5ykU64IVbZJC+xhwd8MLNMSdXuUgHvHCLDNLXmKMD/wG6zBCt/5ahrgAAAABJRU5ErkJggg==" alt="" />
一步一步的获取了JSON字符串对应的Value。
——————————————————————————————————————————————————————————————————————
群里有人提出一个问题,比如我要生成如下的JSON字符串,该如何处理呢?
{
"id": 1,
"value": "cate",
"child": [
{
"id": 1,
"value": "cate",
"child": [
]
},
{
"id": 1,
"value": "cate",
"child": [
{
"id": 2,
"value": "cate2",
"child": [
{
"id": 3,
"value": "cate3",
"child": [
]
}
]
}
]
}
]
}
通过观察我们会发现,其实规律比较好找,就是包含id、value、child这样的属性,child又包含id、value、child这样的属性,可以无限循环下去,是个典型的树形结构。
完整的代码如下:
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
Data data = new Data();
data.id = ;
data.value = "cate";
data.child = new List<Data>()
{
new Data(){ id=,value="cate",child=new List<Data>(){}} ,
new Data(){ id=,value="cate",child=new List<Data>()
{
new Data()
{
id=,
value="cate2" ,
child = new List<Data>()
{
new Data()
{
id = ,
value = "cate3",
child = new List<Data>(){},
}
},
}
}} ,
}; //序列化为json字符串
string json = JsonConvert.SerializeObject(data);
Console.WriteLine(json); //反序列化为对象
Data jsonData = JsonConvert.DeserializeObject<Data>(json);
}
} public class Data
{
public int id { get; set; }
public string value { get; set; }
public List<Data> child { get; set; }
}
}
我们验证一下生成的结果:
JObject jo = (JObject)JsonConvert.DeserializeObject(json);
Console.WriteLine(jo);
aaarticlea/png;base64,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" alt="" />
再来一个复杂点的JSON结构:
[
{
"downList": [],
"line": {
"Id": -1,
"Name": "admin",
"icCard": "1"
},
"upList": [
{
"endTime": "18:10",
"startTime": "06:40",
"sId": 385,
"sType": "38"
},
{
"endTime": "18:10",
"startTime": "06:40",
"sId": 1036,
"sType": "38"
}
]
},
{
"downList": [],
"line": {
"Id": -1,
"Name": "admin",
"icCard": "1"
},
"upList": [
{
"endTime": "18:10",
"startTime": "06:40",
"sId": 385,
"sType": "38"
},
{
"endTime": "18:10",
"startTime": "06:40",
"sId": 1036,
"sType": "38"
}
]
}
]
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
string jsonString = "[{\"downList\": [],\"line\": {\"Id\": -1,\"Name\": \"admin\",\"icCard\": \"1\"},\"upList\": [{\"endTime\": \"18:10\",\"startTime\": \"06:40\",\"sId\": 385,\"sType\": \"38\"},{\"endTime\": \"18:10\",\"startTime\": \"06:40\",\"sId\": 1036,\"sType\": \"38\"}]},{\"downList\": [],\"line\": {\"Id\": -1,\"Name\": \"admin\",\"icCard\": \"1\"},\"upList\": [{\"endTime\": \"18:10\",\"startTime\": \"06:40\",\"sId\": 385,\"sType\": \"38\"},{\"endTime\": \"18:10\",\"startTime\": \"06:40\",\"sId\": 1036,\"sType\": \"38\"}]}]";
Data[] datas = JsonConvert.DeserializeObject<Data[]>(jsonString); foreach (Data data in datas)
{
downList[] downList = data.downList;
line line = data.line;
upList[] upLists = data.upList; //输出
Console.WriteLine(string.Join(",", line.Id, line.Name, line.icCard));
foreach (upList upList in upLists)
{
Console.WriteLine(string.Join(",", upList.endTime, upList.startTime, upList.sId, upList.sType));
}
Console.WriteLine("-----------------------------------------------");
}
}
} public class Data
{
public downList[] downList { get; set; }
public line line { get; set; }
public upList[] upList { get; set; }
} public class downList
{ } public class line
{
public int Id { get; set; }
public string Name { get; set; }
public string icCard { get; set; }
} public class upList
{
public string endTime { get; set; } public string startTime { get; set; } public int sId { get; set; } public string sType { get; set; }
}
}
C#对XML、JSON等格式的解析的更多相关文章
- XML JSON解析--基本功能
一,json的解析 json文件: {"code": "cn","cities": [{"name": " ...
- 关于iOS中几种第三方对XML/JSON数据解析的使用
Json XML 大数据时代,我们需要从网络中获取海量的新鲜的各种信息,就不免要跟着两个家伙打交道,这是两种结构化的数据交换格式.一般来讲,我们会从网络获取XML或者Json格式的数据,这些数据有着特 ...
- (转)Unity3D研究院之将场景导出XML或JSON或二进制并且解析还原场景
自:http://www.xuanyusong.com/archives/1919 导出Unity场景的所有游戏对象信息,一种是XML一种是JSON.本篇文章我们把游戏场景中游戏对象的.旋转.缩放.平 ...
- 关于json格式字符串解析并用mybatis存入数据库
园子里面找了很多关于json解析后存入数据库的方法,不是太乱,就是没有写完,我下面的主题代码多是受下面两位的启发,请按顺序查看 http://www.cnblogs.com/tian830937/p/ ...
- 将场景导出XML或JSON或二进制而且解析还原场景
导出unity场景的全部游戏对象信息,一种是XML一种是JSON. 本篇文章我们把游戏场景中游戏对象的.旋转.缩放.平移与Prefab的名称导出在XML与JSON中.然后解析刚刚导出的XML或JSON ...
- php返回json,xml,JSONP等格式的数据
php返回json,xml,JSONP等格式的数据 返回json数据: header('Content-Type:application/json; charset=utf-8'); $arr = a ...
- iOS开发笔记3:XML/JSON数据解析
这篇主要总结在iOS开发中XML/JSON数据解析过程用到的方法.XML数据解析主要使用SAX方式的NSXMLParser以及DOM方式的GDataXML,JSON数据解析主要使用NSJSONSeri ...
- Silverlight项目笔记7:xml/json数据解析、TreeView、引用类型与数据绑定错误、图片加载、虚拟目录设置、silverlight安全机制引发的问题、WebClient缓存问题
1.xml/json数据解析 (1)xml数据解析 使用WebClient获取数据,获取到的数据实例化为一个XDocument,使用XDocument的Descendants(XName)方法获得对应 ...
- [WEB API] CLIENT 指定请求及回应格式(XML/JSON)
[Web API] Client 指定请求及响应格式(xml/json) Web API 支持的格式请参考 http://www.asp.net/web-api/overview/formats-an ...
随机推荐
- 【09】绝不在构造和析构过程中调用virtual方法
1.绝不在构造和析构过程中调用virtual方法,为啥? 原因很简单,对于前者,这种情况下,子类专有成分还没有构造,对于后者,子类专有成分已经销毁,因此调用的并不是子类重写的方法,这不是程序员所期望的 ...
- Win8 安装Oracle 10g 提示“程序异常终止”的解决方案
这段时间在做DRP,需要安装Oracle 10g的数据库,我的系统是win8企业版,安装Oracle 10g的时候,选择“高级安装”,提示“程序异常终止”,下面是几个解决方案,跟大家分享一下. 错误提 ...
- 关于 ioctl 的 FIONREAD 參数
ioctl 是用来设置硬件控制寄存器,或者读取硬件状态寄存器的数值之类的.而read,write 是把数据丢入缓冲区,硬件的驱动从缓冲区读取数据一个个发送或者把接收的数据送入缓冲区. ioctl(ke ...
- android 开源 OCR 项目 及手写识别
http://blog.csdn.net/archfree/article/details/6023676 1)一个为Android平台,将识别由手机的相机拍摄的图像文本应用程序. http://co ...
- DRM in Android
我们Tieto公司的MM专家在<程序员>第8期上发表了一篇关于DRM的文章,请大家指教. DRM in Android DRM,英文全称为Digital Rights Management ...
- 从Eclipse里导出Android程序到手机里
参考自:http://wenku.baidu.com/view/e28bb57c1711cc7931b716a7.html
- HTTPS证书制作
openssl 安装可参照之前文章 1.mkdir /etc/ssl/xip.ioopenssl genrsa -out /etc/ssl/xip.io/xip.io.key 1024openssl ...
- gvim设置字体和隐藏菜单栏工具栏
liunx下面设置字体 set guifont=Monaco\ 注意空格的位置,其他写法不认哦! Windows下面设置 set guifont=Monaco:h 隐藏菜单栏 set guioptio ...
- [原] Unity下的ElectroServer的连接
ES的版本是5.4.1,示例目录下code_examples\ConnectAndLoginManually是Unity的连接和登录代码. 除了host和port需要指定,在连接时需要指定连接方式,如 ...
- php中的匿名函数(Anonymous functions)和闭包函数(closures)
一:匿名函数 (在php5.3.0 或以上才能使用) php中的匿名函数(Anonymous functions), 也叫闭包函数(closures), 允许指定一个没有名称的函数.最常用的就是回调函 ...