/// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"></param> /// <returns></returns> public static string DataTable2Json(System.Data.DataTable dt) { System.Text.StringBuilder jsonBuilder = new System.Text.StringBuilder(); jsonBuilder.Append("{"Name":"" + dt.TableName + "","Rows"); jsonBuilder.Append("":["); for (int i = 0; i < dt.Rows.Count; i++) { jsonBuilder.Append("{"); for (int j = 0; j < dt.Columns.Count; j++) { jsonBuilder.Append("""); jsonBuilder.Append(dt.Columns[j].ColumnName); jsonBuilder.Append("":""); jsonBuilder.Append(dt.Rows[i][j].ToString().Trim().Replace(""", "\"").Replace(" ", "").Replace(" ", "")); //对于特殊字符,还应该进行特别的处理。 jsonBuilder.Append("","); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("},"); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("]"); jsonBuilder.Append("}"); return jsonBuilder.ToString(); } /// <summary> /// DataSet转换成Json格式 /// </summary> /// <param name="ds">DataSet</param> /// <returns></returns> public static string Dataset2Json(System.Data.DataSet ds) { System.Text.StringBuilder json = new System.Text.StringBuilder(); json.Append("{"Tables":"); json.Append("["); foreach (System.Data.DataTable dt in ds.Tables) { json.Append(DataTable2Json(dt)); json.Append(","); } json.Remove(json.Length - 1, 1); json.Append("]"); json.Append("}"); return json.ToString(); } public bool IsReusable { get { return false; } }
把DataSet转换成JSON,记得把一些特殊字符处理下。
上面来源于网上的一段代码,因为没有处理换行和回车,所以转过去的JSON一直不通过。
这个方法暂时符合自己使用需求,等后续有什么特殊字符需要处理再进行添加
JSON在线解析:http://www.bejson.com/