jQuery ajax在前台如何避免后台返回的json数据
jQuery ajax在前台如何处理后台返回的json数据
功能是用asp.net +jQuery ajax+WebServices实现的 我在后台的webmethod方法中将DataSet转化为json 并将json以string的方式返回到前台
json如下:
"{\"ok\":true,
"ds\":[{\"OrderNo\":\"asdfsdf\",
"EmployeeWw\":\"sadfdsf\",
"Data\":\"2014-6-3\",
"CustomerWw\":\"sdfsadf\",
"OrderAttribute\":\"啊啊啊啊啊啊啊啊啊啊啊啊啊啊\",
"OrderCount\":\"3\",
"OrderMoney\":\"235.00\",
"buyertype\":\"True\",
"OrderStatus\":\"False\"}]}"
红色部分代码的意思是ds不为空,
下面附上DataSet转json的类:
功能是用asp.net +jQuery ajax+WebServices实现的 我在后台的webmethod方法中将DataSet转化为json 并将json以string的方式返回到前台
json如下:
"{\"ok\":true,
"ds\":[{\"OrderNo\":\"asdfsdf\",
"EmployeeWw\":\"sadfdsf\",
"Data\":\"2014-6-3\",
"CustomerWw\":\"sdfsadf\",
"OrderAttribute\":\"啊啊啊啊啊啊啊啊啊啊啊啊啊啊\",
"OrderCount\":\"3\",
"OrderMoney\":\"235.00\",
"buyertype\":\"True\",
"OrderStatus\":\"False\"}]}"
红色部分代码的意思是ds不为空,
下面附上DataSet转json的类:
public class DataSetToJSON
{
/// <summary>
/// 将DataSet数据转化为json格式
/// </summary>
/// <param name="ds"></param>
/// <returns></returns>
public string GetDatasetToJson(DataSet ds)
{
if (ds == null || ds.Tables.Count <= 0 || ds.Tables[0].Rows.Count <= 0)
{
//如果查询到的数据为空则返回标记ok:false
return "{\"ok\":false}";
}
StringBuilder sb = new StringBuilder();
sb.Append("{\"ok\":true,");
foreach (DataTable dt in ds.Tables)
{
sb.Append(string.Format("\"{0}\":[", dt.TableName));
foreach (DataRow dr in dt.Rows)
{
sb.Append("{");
for (int i = 0; i < dr.Table.Columns.Count; i++)
{
sb.AppendFormat("\"{0}\":\"{1}\",", dr.Table.Columns[i].ColumnName.Replace("\"", "\\\"").Replace("\'", "\\\'"), ObjToStr(dr[i]).Replace("\"", "\\\"").Replace("\'", "\\\'")).Replace(Convert.ToString((char)13), "\\r\\n").Replace(Convert.ToString((char)10), "\\r\\n");
}
sb.Remove(sb.ToString().LastIndexOf(','), 1);
sb.Append("},");
}
sb.Remove(sb.ToString().LastIndexOf(','), 1);
sb.Append("],");
}
sb.Remove(sb.ToString().LastIndexOf(','), 1);