json中换行符的处理方法示例介绍
2014-06-10 16:54
260 查看
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);
}
}
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
相关文章推荐
- json中换行符的处理方法示例介绍
- js读取json的两种常用方法示例介绍
- js读取json的两种常用方法示例介绍
- 爬虫 Http请求,urllib2获取数据,第三方库requests获取数据,BeautifulSoup处理数据,使用Chrome浏览器开发者工具显示检查网页源代码,json模块的dumps,loads,dump,load方法介绍
- SpringMVC(27):json数据的传递处理的示例(实现功能:使用jQuery框架的ajax()方法实现用户信息查看)
- [转]PerformanceCounter 基本介绍以及示例方法
- PerformanceCounter 基本介绍以及示例方法(转载)
- Dojo 事件机制:浏览器事件统一处理方法介绍
- 一个简单的java处理json的方法
- 下面的示例演示如何使用传递到事件处理方法的 GridViewCommandEventArgs 对象确定引发事件的按钮的命令名。
- jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
- PerformanceCounter 基本介绍以及示例方法
- 浅谈js对json_encode(PHP)后的对象处理方法
- 【flex工具】Flex处理JSON官方工具包及使用示例
- jQuery jqgrid 对含特殊字符 json 数据的 Java 处理方法
- MVC中返回JSON格式以及客户端处理方法的总结
- 新兴XML处理方法VTD-XML介绍
- 本文给出了一种方便实用的解决大文件的读取、存储等处理的方法,并结合相关程序代码对具体的实现过程进行了介绍
- php5编程中的异常处理详细方法介绍
- 新兴XML处理方法VTD-XML介绍