json经常使用,但如果字段中出现换行符如何处理,测试一下json类的处理,也没有发现。想不到最终的处理确实如此简单
json作为ajax常用的一种数据类型,经常使用。但如果字段中出现换行符如何处理?

去掉显然不合适。有些字段本来就有换行符,如何能去掉?

测试一下json类的处理,也没有发现。想不到最终的处理确实如此简单:

后台代码把换行符rn替换为rn,前台代码js收到的字符就是rn
 
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("rn", "rn");
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);
}

}
最新资讯
袁隆平、屠呦呦等21位功勋科学家手模亮相中国科技馆

袁隆平、屠呦呦等21位

全国科普日启动之际,“国家最高科学技术奖获奖科学家手
对话张瑞敏:算法在这个时代被滥用了

对话张瑞敏:算法在这个

成功的企业家容易自恋,容易目中无人,张瑞敏的眼里始终有
无人机、无人车送快递何时全面普及?官方:还需一个阶段

无人机、无人车送快递

新办就邮政快递业助力脱贫攻坚有关情况举行发布会。国
蚂蚁集团据悉将把IPO融资目标提高到350亿美元

蚂蚁集团据悉将把IPO

蚂蚁集团据悉将把IPO融资目标提高到350亿美元。
邬贺铨等解读未来十年:5G如何才能“价廉物美”?| 新浪5G峰会

邬贺铨等解读未来十年

由新浪科技、新浪5G联合主办的“Refresh Your Life”
请顶流主播就能卖光库存?品牌商可不是冤大头

请顶流主播就能卖光库

假如只是以几个顶流主播令人瞠目的战绩海报来理解直播
最新文章
详解Vue的ref特性的使用

详解Vue的ref特性的使

这篇文章主要介绍了详解Vue的ref特性的使用,文中通过
vue学习笔记之slot插槽基本用法实例分析

vue学习笔记之slot插

这篇文章主要介绍了vue学习笔记之slot插槽基本用法,结
vue跳转方式(打开新页面)及传参操作示例

vue跳转方式(打开新页

这篇文章主要介绍了vue跳转方式(打开新页面)及传参操作,
vue学习笔记之过滤器的基本使用方法实例分析

vue学习笔记之过滤器

这篇文章主要介绍了vue学习笔记之过滤器的基本使用方
js获取本日、本周、本月的时间代码

js获取本日、本周、本

本篇文章给大家分享的内容是利用js如何获取本日、本周
node crawler如何添加promise支持

node crawler如何添加

这篇文章主要介绍了node crawler如何添加promise支持,