Posted in Javascript onJune 10, 2014
json作为ajax常用的一种数据类型,经常使用。但如果字段中出现换行符如何处理?
去掉显然不合适。有些字段本来就有换行符,如何能去掉?
测试一下json类的处理,也没有发现。想不到最终的处理确实如此简单:
后台代码把换行符\r\n替换为\\r\\n,前台代码js收到的字符就是\r\n
public static string ConvertFromListTojson<T>(IList<T> list, int total, string columnInfos) where T : class { string[] cols = columnInfos.Split(new char[]{','},StringSplitOptions.RemoveEmptyEntries); StringBuilder sb = new StringBuilder(300); sb.Append("{\"total\":"); sb.Append(total); sb.Append(",\"rows\":"); sb.Append("["); foreach (T t in list) { sb.Append("{"); foreach (string col in cols) { string name = "\"{0}\":\"{1}\","; string value = getValue<T>(t, col); value = value.Replace("\r\n", "\\r\\n"); sb.Append(string.Format(name, col, value)); } if (cols.Length > 0) { int length = sb.Length; sb.Remove(length - 1, 1); } sb.Append("},"); } if (list.Count > 0) { int length2 = sb.Length; sb.Remove(length2 - 1, 1); } sb.Append("]"); sb.Append("}"); return sb.ToString(); } private static string getValue<T>(T t, string pname) where T : class { Type type = t.GetType(); PropertyInfo pinfo = type.GetProperty(pname); if (pinfo != null) { object v = pinfo.GetValue(t, null); return v != null ? v.ToString() : ""; } else { throw new Exception("不存在属性" + pname); } }
json中换行符的处理方法示例介绍
- Author -
whsnow声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@