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

 更新时间:2014年06月10日 16:54:04   投稿:whsnow  
json经常使用,但如果字段中出现换行符如何处理,测试一下json类的处理,也没有发现。想不到最终的处理确实如此简单

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

相关文章

  • javascript中[]和{}对象使用介绍

    javascript中[]和{}对象使用介绍

    []不仅仅可以表示数组,可以直接通过对象的属性设置值和访问值,接下来为大家介绍下[]和{}对象的使用,感兴趣的你可以参考下哈
    2013-03-03
  • Javascript 获取滚动条位置等信息的函数

    Javascript 获取滚动条位置等信息的函数

    有时为了准确定位一个元素,我们需要获取滚动条的位置,这种需求经常出现在 tooltip 和 拖放等应用中,其实这个技术很简单,关键是要考虑浏览器的兼容性,本文就是介绍这一问题的解决方法。
    2009-09-09
  • 一个判断抢购时间是否到达的简单的js函数

    一个判断抢购时间是否到达的简单的js函数

    这篇文章主要介绍了一个简单的判断抢购时间是否到达的js函数,原理很简单,找到时钟的id,计算数值,到达抢购时间时执行任务,需要的朋友可以参考下
    2014-06-06
  • js添加事件的通用方法推荐

    js添加事件的通用方法推荐

    下面小编就为大家带来一篇js添加事件的通用方法推荐。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-05-05
  • Bootstrap基础学习

    Bootstrap基础学习

    Bootstrap是Twitter推出的一个用于前端开发的开源工具包。它由Twitter的设计师Mark Otto和Jacob Thornton合作开发,是一个CSS/HTML框架。它使用了流行的浏览器技术,给web开发提供了时尚的版式,表单,buttons,表格,网格系统等等。
    2015-06-06
  • Javascript删除指定元素节点的方法

    Javascript删除指定元素节点的方法

    这篇文章主要介绍了使用Javascript删除指定元素节点的方法,通俗易懂,需要的朋友可以参考下。
    2016-06-06
  • JS中symbol的特点和用法详解

    JS中symbol的特点和用法详解

    在 JavaScript 中,Symbol用于表示独一无二的标识符,它是 ECMAScript 6引入的一个新特性,本文介绍了JS中的symbol的特点和用法,需要的朋友可以参考下
    2023-06-06
  • JS实现的添加弹出层并完成锁屏操作示例

    JS实现的添加弹出层并完成锁屏操作示例

    这篇文章主要介绍了JS实现的添加弹出层并完成锁屏操作,涉及JS针对页面元素与样式动态操作相关技巧,需要的朋友可以参考下
    2017-04-04
  • JavaScript 原型继承之构造函数继承

    JavaScript 原型继承之构造函数继承

    JavaScript 是基于原型的面向对象语言。也就是说,每个实例对象都具有一个原型。对象从该原型中继承属性和方法。这一篇将具体说说构造函数的继承。
    2011-08-08
  • 一文了解你不知道的JavaScript生成器篇

    一文了解你不知道的JavaScript生成器篇

    ES6引入了一个新的函数类型,发现它并不符合这种运行到结束的特性。这类新的函数被称为生成器。生成器的出现是我们知道原来有时代码并不会顺利的运行,可以通过暂停的方式进行异步回调,让我们摒弃了此前的认知。本文就来聊聊JavaScript中生成器的相关知识
    2022-11-11

最新评论