json中换行符的处理方法示例介绍


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); 

} 

}
Javascript 相关文章推荐
深入document.write()与HTML4.01的非成对标签的详解
May 08 Javascript
jQuery javaScript捕获回车事件(示例代码)
Nov 07 Javascript
JavaScript阻止事件冒泡示例分享
Dec 28 Javascript
基于jQuery实现以手风琴方式展开和折叠导航菜单
Jan 28 Javascript
Web程序员必备的7个JavaScript函数
Jun 14 Javascript
学习Angular中作用域需要注意的坑
Aug 17 Javascript
Angularjs CURD 详解及实例代码
Sep 14 Javascript
Vue实现动态显示textarea剩余字数
May 22 Javascript
ionic App问题总结系列之ionic点击系统返回键退出App
Aug 19 Javascript
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
May 14 Javascript
Vue2.x Todo之自定义指令实现自动聚焦的方法
Jan 08 Javascript
详解无限滚动插件vue-infinite-scroll源码解析
May 12 Javascript
Jquery焦点与失去焦点示例应用
Jun 10 #Javascript
浅析基于WEB前端页面的页面内容搜索的实现思路
Jun 10 #Javascript
JavaScript中统计Textarea字数并提示还能输入的字符
Jun 10 #Javascript
iframe里的页面禁止右键事件的方法
Jun 10 #Javascript
js类定义函数时用prototype与不用的区别示例介绍
Jun 10 #Javascript
深入探讨JavaScript、JQuery屏蔽网页鼠标右键菜单及禁止选择复制
Jun 10 #Javascript
js换图片效果可进行定时操作
Jun 09 #Javascript
You might like
PHP用mysql数据库存储session的代码
2010/03/05 PHP
php获取url参数方法总结
2014/11/13 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
tp5(thinkPHP5)操作mongoDB数据库的方法
2018/01/20 PHP
PHP工厂模式、单例模式与注册树模式实例详解
2019/06/03 PHP
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
javascript比较两个日期相差天数的方法
2015/07/23 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
微信js-sdk界面操作接口用法示例
2016/10/12 Javascript
从零学习node.js之利用express搭建简易论坛(七)
2017/02/25 Javascript
学习使用Bootstrap输入框、导航、分页等常用组件
2017/05/11 Javascript
vue.js中v-on:textInput无法执行事件问题的解决过程
2017/07/12 Javascript
基于Vue实例对象的数据选项
2017/08/09 Javascript
在Vue中使用echarts的方法
2018/02/05 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
2018/04/19 jQuery
react-native android状态栏的实现
2018/06/15 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
解决vue.js中settimeout遇到的问题(时间参数短效果不稳定)
2020/07/21 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
python常用知识梳理(必看篇)
2017/03/23 Python
Linux RedHat下安装Python2.7开发环境
2017/05/20 Python
python发送邮件脚本
2018/05/22 Python
python 3.6.4 安装配置方法图文教程
2018/09/18 Python
ORM Django 终端打印 SQL 语句实现解析
2019/08/09 Python
Python检查 云备份进程是否正常运行代码实例
2019/08/22 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
Python 生成短8位唯一id实战教程
2021/01/13 Python
python爬虫今日热榜数据到txt文件的源码
2021/02/23 Python
CSS3实现线性渐变用法示例代码详解
2020/08/07 HTML / CSS
eHarmony英国:全球领先的认真恋爱约会平台之一
2020/11/16 全球购物
介绍一下linux文件系统分配策略
2013/02/25 面试题
工厂厂长的职责
2013/12/12 职场文书
土地租赁意向书
2014/07/30 职场文书
圣诞晚会主持词
2015/07/01 职场文书
社区服务活动感想
2015/08/11 职场文书