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