首先引用 解析类库

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace BPMS.WEB.Common
  7. {
  8. public class CommonJsonModel : CommonJsonModelAnalyzer
  9. {
  10. private string rawjson;
  11. private bool isValue = false;
  12. private bool isModel = false;
  13. private bool isCollection = false;
  14. public CommonJsonModel(string rawjson)
  15. {
  16. this.rawjson = rawjson;
  17. if (string.IsNullOrEmpty(rawjson))
  18. throw new Exception("missing rawjson");
  19. rawjson = rawjson.Trim();
  20. if (rawjson.StartsWith("{"))
  21. {
  22. isModel = true;
  23. }
  24. else if (rawjson.StartsWith("["))
  25. {
  26. isCollection = true;
  27. }
  28. else
  29. {
  30. isValue = true;
  31. }
  32. }
  33.  
  34. public string Rawjson
  35. {
  36. get { return rawjson; }
  37. }
  38. public bool IsValue()
  39. {
  40. return isValue;
  41. }
  42. public bool IsValue(string key)
  43. {
  44. if (!isModel)
  45. return false;
  46. if (string.IsNullOrEmpty(key))
  47. return false;
  48. foreach (string subjson in base._GetCollection(this.rawjson))
  49. {
  50. CommonJsonModel model = new CommonJsonModel(subjson);
  51. if (!model.IsValue())
  52. continue;
  53. if (model.Key == key)
  54. {
  55. CommonJsonModel submodel = new CommonJsonModel(model.Value);
  56. return submodel.IsValue();
  57. }
  58. }
  59. return false;
  60. }
  61. public bool IsModel()
  62. {
  63. return isModel;
  64. }
  65. public bool IsModel(string key)
  66. {
  67. if (!isModel)
  68. return false;
  69. if (string.IsNullOrEmpty(key))
  70. return false;
  71. foreach (string subjson in base._GetCollection(this.rawjson))
  72. {
  73. CommonJsonModel model = new CommonJsonModel(subjson);
  74. if (!model.IsValue())
  75. continue;
  76. if (model.Key == key)
  77. {
  78. CommonJsonModel submodel = new CommonJsonModel(model.Value);
  79. return submodel.IsModel();
  80. }
  81. }
  82. return false;
  83. }
  84. public bool IsCollection()
  85. {
  86. return isCollection;
  87. }
  88. public bool IsCollection(string key)
  89. {
  90. if (!isModel)
  91. return false;
  92. if (string.IsNullOrEmpty(key))
  93. return false;
  94. foreach (string subjson in base._GetCollection(this.rawjson))
  95. {
  96. CommonJsonModel model = new CommonJsonModel(subjson);
  97. if (!model.IsValue())
  98. continue;
  99. if (model.Key == key)
  100. {
  101. CommonJsonModel submodel = new CommonJsonModel(model.Value);
  102. return submodel.IsCollection();
  103. }
  104. }
  105. return false;
  106. }
  107.  
  108. /// <summary>
  109. /// 当模型是对象,返回拥有的key
  110. /// </summary>
  111. /// <returns></returns>
  112. public List<string> GetKeys()
  113. {
  114. if (!isModel)
  115. return null;
  116. List<string> list = new List<string>();
  117. foreach (string subjson in base._GetCollection(this.rawjson))
  118. {
  119. string key = new CommonJsonModel(subjson).Key;
  120. if (!string.IsNullOrEmpty(key))
  121. list.Add(key);
  122. }
  123. return list;
  124. }
  125. /// <summary>
  126. /// 当模型是对象,key对应是值,则返回key对应的值
  127. /// </summary>
  128. /// <param name="key"></param>
  129. /// <returns></returns>
  130. public string GetValue(string key)
  131. {
  132. if (!isModel)
  133. return null;
  134. if (string.IsNullOrEmpty(key))
  135. return null;
  136. foreach (string subjson in base._GetCollection(this.rawjson))
  137. {
  138. CommonJsonModel model = new CommonJsonModel(subjson);
  139. if (!model.IsValue())
  140. continue;
  141. if (model.Key != key)
  142. continue;
  143. if (model.Key == key)
  144. return model.Value;
  145. }
  146. return null;
  147. }
  148. /// <summary>
  149. /// 模型是对象,key对应是对象,返回key对应的对象
  150. /// </summary>
  151. /// <param name="key"></param>
  152. /// <returns></returns>
  153. public CommonJsonModel GetModel(string key)
  154. {
  155. if (!isModel)
  156. return null;
  157. if (string.IsNullOrEmpty(key))
  158. return null;
  159. foreach (string subjson in base._GetCollection(this.rawjson))
  160. {
  161. CommonJsonModel model = new CommonJsonModel(subjson);
  162. if (!model.IsValue())
  163. continue;
  164. if (model.Key == key)
  165. {
  166. CommonJsonModel submodel = new CommonJsonModel(model.Value);
  167. if (!submodel.IsModel())
  168. return null;
  169. else
  170. return submodel;
  171. }
  172. }
  173. return null;
  174. }
  175. /// <summary>
  176. /// 模型是对象,key对应是集合,返回集合
  177. /// </summary>
  178. /// <param name="key"></param>
  179. /// <returns></returns>
  180. public CommonJsonModel GetCollection(string key)
  181. {
  182. if (!isModel)
  183. return null;
  184. if (string.IsNullOrEmpty(key))
  185. return null;
  186. foreach (string subjson in base._GetCollection(this.rawjson))
  187. {
  188. CommonJsonModel model = new CommonJsonModel(subjson);
  189. if (!model.IsValue())
  190. continue;
  191. if (model.Key == key)
  192. {
  193. CommonJsonModel submodel = new CommonJsonModel(model.Value);
  194. if (!submodel.IsCollection())
  195. return null;
  196. else
  197. return submodel;
  198. }
  199. }
  200. return null;
  201. }
  202. /// <summary>
  203. /// 模型是集合,返回自身
  204. /// </summary>
  205. /// <returns></returns>
  206. public List<CommonJsonModel> GetCollection()
  207. {
  208. List<CommonJsonModel> list = new List<CommonJsonModel>();
  209. if (IsValue())
  210. return list;
  211. foreach (string subjson in base._GetCollection(rawjson))
  212. {
  213. list.Add(new CommonJsonModel(subjson));
  214. }
  215. return list;
  216. }
  217.  
  218. /// <summary>
  219. /// 当模型是值对象,返回key
  220. /// </summary>
  221. private string Key
  222. {
  223. get
  224. {
  225. if (IsValue())
  226. return base._GetKey(rawjson);
  227. return null;
  228. }
  229. }
  230. /// <summary>
  231. /// 当模型是值对象,返回value
  232. /// </summary>
  233. private string Value
  234. {
  235. get
  236. {
  237. if (!IsValue())
  238. return null;
  239. return base._GetValue(rawjson);
  240. }
  241. }
  242. }
  243. }

  解析类父类

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace BPMS.WEB.Common
  7. {
  8. public class CommonJsonModelAnalyzer
  9. {
  10. protected string _GetKey(string rawjson)
  11. {
  12. if (string.IsNullOrEmpty(rawjson))
  13. return rawjson;
  14. rawjson = rawjson.Trim();
  15. string[] jsons = rawjson.Split(new char[] { ':' });
  16. if (jsons.Length < )
  17. return rawjson;
  18. return jsons[].Replace("\"", "").Trim();
  19. }
  20. protected string _GetValue(string rawjson)
  21. {
  22. if (string.IsNullOrEmpty(rawjson))
  23. return rawjson;
  24. rawjson = rawjson.Trim();
  25. string[] jsons = rawjson.Split(new char[] { ':' }, StringSplitOptions.RemoveEmptyEntries);
  26. if (jsons.Length < )
  27. return rawjson;
  28. StringBuilder builder = new StringBuilder();
  29. for (int i = ; i < jsons.Length; i++)
  30. {
  31. builder.Append(jsons[i]);
  32. builder.Append(":");
  33. }
  34. if (builder.Length > )
  35. builder.Remove(builder.Length - , );
  36. string value = builder.ToString();
  37. if (value.StartsWith("\""))
  38. value = value.Substring();
  39. if (value.EndsWith("\""))
  40. value = value.Substring(, value.Length - );
  41. return value;
  42. }
  43. protected List<string> _GetCollection(string rawjson)
  44. {
  45. //[{},{}]
  46. List<string> list = new List<string>();
  47. if (string.IsNullOrEmpty(rawjson))
  48. return list;
  49. rawjson = rawjson.Trim();
  50. StringBuilder builder = new StringBuilder();
  51. int nestlevel = -;
  52. int mnestlevel = -;
  53. for (int i = ; i < rawjson.Length; i++)
  54. {
  55. if (i == )
  56. continue;
  57. else if (i == rawjson.Length - )
  58. continue;
  59. char jsonchar = rawjson[i];
  60. if (jsonchar == '{')
  61. {
  62. nestlevel++;
  63. }
  64. if (jsonchar == '}')
  65. {
  66. nestlevel--;
  67. }
  68. if (jsonchar == '[')
  69. {
  70. mnestlevel++;
  71. }
  72. if (jsonchar == ']')
  73. {
  74. mnestlevel--;
  75. }
  76. if (jsonchar == ',' && nestlevel == - && mnestlevel == -)
  77. {
  78. list.Add(builder.ToString());
  79. builder = new StringBuilder();
  80. }
  81. else
  82. {
  83. builder.Append(jsonchar);
  84. }
  85. }
  86. if (builder.Length > )
  87. list.Add(builder.ToString());
  88. return list;
  89. }
  90. }
  91. }

 示例

这里 注意点  要传json数组进来

[{
"键": [ { } ],
"键": [{ } ]
}]

要替换掉json内所有空格   Replace(" ","") ,Replace(Json, @"\r\n", "")

如果 json   键值对    传进来的值中  含有 ','  隔开的值 则 需用 其他符号 替代  否则 取值时  取不全!

  1. public string ImportData(string Json)
  2. {
  3. StringBuilder sbStr = new StringBuilder();
  4. CommonJsonModel model = new CommonJsonModel(Regex.Replace(Json, @"\r\n", ""));
  5. List<CommonJsonModel> lst = model.GetCollection();
  6.  
  7. foreach (CommonJsonModel item in lst)
  8. {
  9. #region
  10. string ImgList = item.GetValue("ImgList");
  11. CommonJsonModel modelImgList = new CommonJsonModel(Regex.Replace(ImgList, @"\r\n", ""));
  12. List<CommonJsonModel> lstImgList = modelImgList.GetCollection();
  13. List<string> sqlDelImgList = new List<string>();
  14. List<string> sqlInserImgList = new List<string>();
  15. foreach (CommonJsonModel itemImgList in lstImgList)
  16. {
  17. string ID = itemImgList.GetValue("ID");//
  18. if (ID != "0")
  19. {
  20. sqlDelImgList.Add(string.Format("DELETE FROM MR_Img WHERE AppID={0}",ID));
  21. }
  22. string Img = itemImgList.GetValue("Img");
  23. string Describe = itemImgList.GetValue("Describe");
  24. string sqlInsertImg = string.Format("INSERT INTO MR_Img([FilePathe],[Small_FilePathe],[Describe],[AppID]) VALUES('{0}','{1}','{2}',{3})", Img, Img, Describe, ID);
  25. sqlInserImgList.Add(sqlInsertImg);
  26. }
  27. int ictDelImg = DBHelper.ExecuteSqlTran(sqlDelImgList);
  28. //
  29. int ictImg = DBHelper.ExecuteSqlTran(sqlInserImgList);
  30. #endregion
  31.  
  32. #region
  33. string ExamineItem = item.GetValue("ExamineItem");
  34. CommonJsonModel modelExamineItem = new CommonJsonModel(Regex.Replace(ExamineItem, @"\r\n", ""));
  35. List<CommonJsonModel> lstExamineItem = modelExamineItem.GetCollection();
  36. List<string> sqlDelExamineItemList = new List<string>();
  37. List<string> sqlInsExamineItemList = new List<string>();
  38. foreach (CommonJsonModel itemExamineItem in lstExamineItem)
  39. {
  40. string ID = itemExamineItem.GetValue("ID");
  41. if (ID != "0")
  42. {
  43. sqlDelExamineItemList.Add(string.Format("DELETE FROM MR_Check_Details where AppID={0}",ID));
  44. }
  45. string ExamineID = itemExamineItem.GetValue("ExamineID");
  46. string FloorList = itemExamineItem.GetValue("FloorList");
  47. string Danger = itemExamineItem.GetValue("Danger");
  48. string Imgs = itemExamineItem.GetValue("Imgs");
  49. string NewImgs = "";
  50. if (Imgs != "" || Imgs != "0")
  51. {
  52. string imgids = Imgs.Replace("&",",");
  53. string sqlQueryImgsID = string.Format("SELECT [ID] FROM MR_Img WHERE AppID IN({0})", imgids);
  54. DataTable dtImgsID = DBHelper.ExecuteDataTable(sqlQueryImgsID, CommandType.Text);
  55. if (dtImgsID != null && dtImgsID.Rows.Count > 0)
  56. {
  57. foreach (DataRow ImsIdRow in dtImgsID.Rows)
  58. {
  59. NewImgs = NewImgs + "," + ImsIdRow["ID"];
  60. }
  61. }
  62. }
  63. string Item_ID = itemExamineItem.GetValue("Item_ID");
  64. string Remarks = itemExamineItem.GetValue("Remarks");
  65. string Refuse = itemExamineItem.GetValue("Refuse");
  66. string RefuseName = itemExamineItem.GetValue("RefuseName");
  67. string sqlInsCheck_Details = string.Format("INSERT INTO MR_Check_Details ([Item_ID],[Danger],[Complete_Time],[Imgs],[Remarks],[Refuse],[RefuseName],[ExamID],[FloorList],[AppID]) VALUES({0},{1},getdate(),'{2}','{3}',{4},'{5}',{6},'{7}',{8})", Item_ID, Danger, NewImgs.Trim(','), Remarks, Refuse, RefuseName, ExamineID, FloorList, ID);
  68. sqlInsExamineItemList.Add(sqlInsCheck_Details);
  69. }
  70. int ictdelExamineItemList = DBHelper.ExecuteSqlTran(sqlDelExamineItemList);
  71.  
  72. int ictExamineItemList = DBHelper.ExecuteSqlTran(sqlInsExamineItemList);
  73. #endregion
  74.  
  75. #region
  76. string BuildList = item.GetValue("BuildList");
  77. CommonJsonModel modelBuildList = new CommonJsonModel(Regex.Replace(BuildList, @"\r\n", ""));
  78. List<CommonJsonModel> lstBuildList = modelBuildList.GetCollection();
  79. List<string> sqlUpBuidList = new List<string>();
  80. foreach (CommonJsonModel itemBuildList in lstBuildList)
  81. {
  82. string ID = itemBuildList.GetValue("ID");
  83. string Name = itemBuildList.GetValue("Name");
  84. string Contact = itemBuildList.GetValue("Contact");
  85. string Mobile = itemBuildList.GetValue("Mobile");
  86. string OwnerName = itemBuildList.GetValue("OwnerName");
  87. string OwnerMobile = itemBuildList.GetValue("OwnerMobile");
  88. string User_ID = itemBuildList.GetValue("User_ID");
  89. string Doorplate = itemBuildList.GetValue("Doorplate");
  90. string Address = itemBuildList.GetValue("Address");
  91. string FloorNum = itemBuildList.GetValue("FloorNum");
  92. string UpBuild = string.Format("UPDATE MR_Building SET [Name] ='{0}',[Contact] = '{1}',[Mobile] = '{2}',[OwnerName] = '{3}',[OwnerMobile] = '{4}',[User_ID] = {5},[Doorplate] = '{6}',[Address] ='{7}',[FloorNum] ={8} WHERE ID={9}", Name, Contact, Mobile, OwnerName, OwnerMobile, User_ID, Doorplate, Address, FloorNum, ID);
  93. sqlUpBuidList.Add(UpBuild);
  94. }
  95. int ictUpBuidList = DBHelper.ExecuteSqlTran(sqlUpBuidList);
  96. #endregion
  97.  
  98. #region
  99. int ictBuildExamine = 0;
  100. string BuildExamine = item.GetValue("BuildExamine");
  101. CommonJsonModel modelBuildExamine = new CommonJsonModel(Regex.Replace(BuildExamine, @"\r\n", ""));
  102. List<CommonJsonModel> lstBuildExamine = modelBuildExamine.GetCollection();
  103. foreach (CommonJsonModel itemBuildExamine in lstBuildExamine)
  104. {
  105. string ID = itemBuildExamine.GetValue("ID");
  106. string BID = itemBuildExamine.GetValue("BID");
  107. string NewDanger = "";
  108. string Danger = itemBuildExamine.GetValue("Danger");
  109. if (Danger != "" || Danger != "0")
  110. {
  111. string DangerIds = Danger.Replace("&", ",");
  112. string sqlQBuidDanger = string.Format("SELECT ID FROM MR_Check_Details where AppID in ({0})", DangerIds);
  113. DataTable dtBuildDanger = DBHelper.ExecuteDataTable(sqlQBuidDanger, CommandType.Text);
  114. if (dtBuildDanger != null && dtBuildDanger.Rows.Count > 0)
  115. {
  116. foreach (DataRow BuildDangerRow in dtBuildDanger.Rows)
  117. {
  118. NewDanger = NewDanger + "," + BuildDangerRow["ID"];
  119. }
  120. }
  121. }
  122. string RemarkType = itemBuildExamine.GetValue("RemarkType");
  123. string Remark = itemBuildExamine.GetValue("Remark");
  124. string Remark2 = itemBuildExamine.GetValue("Remark2");
  125. string Complete_Time = itemBuildExamine.GetValue("Complete_Time");
  126. string UserID = itemBuildExamine.GetValue("UserID");
  127. ictBuildExamine += LxAddCheckBuild(BID, NewDanger.Trim(','), Remark, Remark2, Complete_Time, UserID);
  128. }
  129. #endregion
  130.  
  131. #region
  132. string StreetList = item.GetValue("StreetList");
  133. CommonJsonModel modelStreetList = new CommonJsonModel(Regex.Replace(StreetList, @"\r\n", ""));
  134. List<CommonJsonModel> lstStreetList = modelStreetList.GetCollection();
  135. List<string> SqlUpSteetList = new List<string>();
  136. foreach (CommonJsonModel itemStreetList in lstStreetList)
  137. {
  138. string ID = itemStreetList.GetValue("ID");
  139. string Name = itemStreetList.GetValue("Name");
  140. string Address = itemStreetList.GetValue("Address");
  141. string Type = itemStreetList.GetValue("Type");
  142. string Business = itemStreetList.GetValue("Business");
  143. string Layer = itemStreetList.GetValue("Layer");
  144. string Acreage = itemStreetList.GetValue("Acreage");
  145. string Has_Business = itemStreetList.GetValue("Has_Business");
  146. string Owner_Name = itemStreetList.GetValue("Owner_Name");
  147. string Phone = itemStreetList.GetValue("Phone");
  148. string Run_Name = itemStreetList.GetValue("Run_Name");
  149. string Run_Phone = itemStreetList.GetValue("Run_Phone");
  150. string Place_x = itemStreetList.GetValue("Place_x");
  151. string place_y = itemStreetList.GetValue("place_y");
  152. string UserID = itemStreetList.GetValue("UserID");
  153. string Extinguisher_Num = itemStreetList.GetValue("Extinguisher_Num");
  154. string Emergency_Num = itemStreetList.GetValue("Emergency_Num");
  155. string Alertor_Num = itemStreetList.GetValue("Alertor_Num");
  156. string UpSteet = string.Format("UPDATE MR_Street SET [Name] = '{0}',[Type] = {1},[Address] = '{2}',[Business] = '{3}' ,[Layer]='{4}',[Acreage] ={5},[Has_Business] ='{6}',[Owner_Name] = '{7}',[Phone] ='{8}',[Run_Name] = '{9}',[Run_Phone] = '{10}',[Place_x] = {11},[place_y] = '{12}',[UserID] = {13} WHERE Id={14}", Name, Type, Address, Business, Layer, Acreage, Has_Business, Owner_Name, Phone, Run_Name, Run_Phone, Place_x, place_y, UserID,ID);
  157. SqlUpSteetList.Add(UpSteet);
  158. string UpSteetDeal = string.Format("UPDATE MR_Street_Detail SET [Extinguisher_Num] = {0},[Emergency_Num] = {1} ,[Alertor_Num] ={2} WHERE SID={3}",Extinguisher_Num,Emergency_Num,Alertor_Num,ID);
  159. SqlUpSteetList.Add(UpSteetDeal);
  160.  
  161. }
  162. int ictUpSteetList=DBHelper.ExecuteSqlTran(SqlUpSteetList);
  163. #endregion
  164.  
  165. #region
  166. string StreetExamine = item.GetValue("StreetExamine");
  167. CommonJsonModel modelStreetExamine = new CommonJsonModel(Regex.Replace(StreetExamine, @"\r\n", ""));
  168. List<CommonJsonModel> lstStreetExamine = modelStreetExamine.GetCollection();
  169. int ictStreetExamine = 0;
  170. foreach (CommonJsonModel itemStreetExaminee in lstStreetExamine)
  171. {
  172. // string ID = itemStreetExaminee.GetValue("ID");
  173. string SID = itemStreetExaminee.GetValue("SID");
  174. string NewDanger = "";
  175. string Danger = itemStreetExaminee.GetValue("Danger");
  176. if (Danger != "" || Danger != "0")
  177. {
  178. string DangerIds = Danger.Replace("&", ",");
  179. string sqlQStreetDanger = string.Format("SELECT ID FROM MR_Check_Details where AppID in ({0})", DangerIds);
  180. DataTable dtStreetDanger = DBHelper.ExecuteDataTable(sqlQStreetDanger, CommandType.Text);
  181. if (dtStreetDanger != null && dtStreetDanger.Rows.Count > 0)
  182. {
  183. foreach (DataRow StreetDangerRow in dtStreetDanger.Rows)
  184. {
  185. NewDanger = NewDanger + "," + StreetDangerRow["ID"];
  186. }
  187. }
  188. }
  189. string RemarkType = itemStreetExaminee.GetValue("RemarkType");
  190. string Remark = itemStreetExaminee.GetValue("Remark");
  191. string Remark2 = itemStreetExaminee.GetValue("Remark2");
  192. string Complete_Time = itemStreetExaminee.GetValue("Complete_Time");
  193. string UserID = itemStreetExaminee.GetValue("UserID");
  194. ictStreetExamine+= LxAddCheckNew(SID, NewDanger.Trim(','), RemarkType, Remark, Remark2, Complete_Time, UserID);
  195. }
  196. #endregion
  197.  
  198. }
  199.  
  200. return "";
  201. }

  

c#解析Josn(解析多个子集,数据,可解析无限级json)的更多相关文章

  1. java后台对json格式数据的解析

    Json 和 Jsonlib 的使用 什么是 Json JSON(JvaScript Object Notation)(官网网站:http://www.json.org/)是 一种轻量级的数据交换格式 ...

  2. UI:数据的解析XML与JSON

    XML  和  JSON 语言  本篇博客来自互联网参考 XML 和 JSON 的互相转化 有属性的转化为对象,无属性的转化为字符串 节点的顺序性不可逆,XML有顺序,JSON 无顺序 XML 和 J ...

  3. JavaScript 解析 Django Python 生成的 datetime 数据 时区问题解决

    JavaScript 解析 Django/Python 生成的 datetime 数据 当Web后台使用Django时,后台生成的时间数据类型就是Python类型的. 项目需要将几个时间存储到数据库中 ...

  4. NPOI操作EXCEL(三)——反射机制进行excel表格数据的解析

    我们先来回忆回忆上篇文章讲到的通过xml配置文件实现excel批量模板解析的整体思路: 1.对每个excel模板制定xml配置规则集,实现xml配置文件的解析服务 2.为每个excel模板制定DTO, ...

  5. XML数据的解析

    XML数据的解析 相比于JSON数据解析而言,XML数据解析可能会让更多的童鞋感觉到吃力,对我来说,同样认为JSON数据好像让人感觉比较友好,不过对于程序开发者来说,无非就是这两种数据解析占比较大的部 ...

  6. SpringMVC中servletFileUpload.parseRequest(request)解析为空获取不到数据问题

    原因分析 首先我们来看下Spring mvc 中文件上传的配置 <bean id="multipartResolver" class="org.springfram ...

  7. 解剖SQLSERVER 第四篇 OrcaMDF里对dates类型数据的解析(译)

    解剖SQLSERVER 第四篇  OrcaMDF里对dates类型数据的解析(译) http://improve.dk/parsing-dates-in-orcamdf/ 在SQLSERVER里面有几 ...

  8. jq 解析josn字符串

    1. var obj = jQuery.parseJSON("${ruleModel.rules}"); 2. var obj = eval("("+" ...

  9. json和xml数据的解析

    一 json数据 1一条json就像一个对象,也想像OC中的数组,且内嵌了很多键值对字典 {"name" : "jack", "age" : ...

  10. android基础---->JSON数据的解析

    上篇博客,我们谈到了XML两种常用的解析技术,详细可以参见我的博客(android基础---->XMl数据的解析).网络传输另外一种数据格式JSON就是我们今天要讲的,它是比XML体积更小的数据 ...

随机推荐

  1. xml--通过SAX解析XML

    SAX的全称是Simple APIs for XML,也即XML简单应用程序接口.与DOM不同,SAX提供的访问模式是一种顺序模式,这是一种快速读写XML数据的方式.当使用SAX分析器对XML文档进行 ...

  2. JVM之字节码——Class文件格式

    如同讲汇编必先讲计算机组成原理,在开始字节码之前,我们先了解一下JVM的主要构成. 在JVM的内部,主要由如下几个部分构成: 1.数据区 方法区:存放类定义信息.字节码.常量等数据,在Sun HotS ...

  3. 似曾相识的 RecyclerView

    一.常用方法 RecyclerView 与 ListView.GridView 类似,都是可以显示同一种类型 View 的集合的控件. 首先看看最简单的用法,四步走: ①接入 build.gradle ...

  4. 海量Office文档搜索

    知识管理系统Data Solution研发日记之十 海量Office文档搜索   经过前面两篇文章的介绍,<分享制作精良的知识管理系统 博客备份程序 Site Rebuild>和<分 ...

  5. JavaScript要点 (三) 保留关键字

    在 JavaScript 中,一些标识符是保留关键字,不能用作变量名或函数名. JavaScript 标准 所有的现代浏览器完全支持 ECMAScript 3(ES3,JavaScript 的第三版, ...

  6. UITableViewcell autolayout下动态高度

    项目中最经常使用的一个UI就是UITableView了.iOS7.8进一步优化了复用机制,用起来相当爽.配合Autolayout,适配工作减轻了非常多. 曾经做适配工作都是在heightForRow里 ...

  7. SpecialFolder

            private void button1_Click(object sender, EventArgs e)         {             Environment.Spe ...

  8. css3 字体旋转

    <style> #mycon { font-weight: bold; font-size: 150px; transform: rotateX(10deg); -webkit-trans ...

  9. 文件I/O(不带缓冲)之I/O的效率

    程序清单3-3中的程序使用read和write函数复制文件.关于该程序应注意下列各点: 它从标准输入读,写至标准输出,这就假定在执行本程序之前,这些标准输入.输出已由shell安排好.确实,所有常用的 ...

  10. Android利用Looper在子线程中改变UI

    MainActivity如下: package cn.testlooper; import android.app.Activity; import android.os.Bundle; import ...