json中换行符的处理方法示例介绍
json作为ajax常用的一种数据类型,经常使用。但如果字段中出现换行符如何处理?
去掉显然不合适。有些字段本来就有换行符,如何能去掉?
测试一下json类的处理,也没有发现。想不到最终的处理确实如此简单:
后台代码把换行符\r\n替换为\\r\\n,前台代码js收到的字符就是\r\n
publicstaticstringConvertFromListTojson<T>(IList<T>list,inttotal,stringcolumnInfos)whereT:class { string[]cols=columnInfos.Split(newchar[]{','},StringSplitOptions.RemoveEmptyEntries); StringBuildersb=newStringBuilder(300); sb.Append("{\"total\":"); sb.Append(total); sb.Append(",\"rows\":"); sb.Append("["); foreach(Ttinlist) { sb.Append("{"); foreach(stringcolincols) { stringname="\"{0}\":\"{1}\","; stringvalue=getValue<T>(t,col); value=value.Replace("\r\n","\\r\\n"); sb.Append(string.Format(name,col,value)); } if(cols.Length>0) { intlength=sb.Length; sb.Remove(length-1,1); } sb.Append("},"); } if(list.Count>0) { intlength2=sb.Length; sb.Remove(length2-1,1); } sb.Append("]"); sb.Append("}"); returnsb.ToString(); } privatestaticstringgetValue<T>(Tt,stringpname)whereT:class { Typetype=t.GetType(); PropertyInfopinfo=type.GetProperty(pname); if(pinfo!=null) { objectv=pinfo.GetValue(t,null); returnv!=null?v.ToString():""; } else { thrownewException("不存在属性"+pname); } }
PS:关于json操作,这里再为大家推荐几款比较实用的json在线工具供大家参考使用:
在线JSON代码检验、检验、美化、格式化工具:
http://tools.jb51.net/code/json
JSON在线格式化工具:
http://tools.jb51.net/code/jsonformat
在线XML/JSON互相转换工具:
http://tools.jb51.net/code/xmljson
json代码在线格式化/美化/压缩/编辑/转换工具:
http://tools.jb51.net/code/jsoncodeformat
在线json压缩/转义工具:
http://tools.jb51.net/code/json_yasuo_trans
C语言风格/HTML/CSS/json代码格式化美化工具:
http://tools.jb51.net/code/ccode_html_css_json