后台代码把换行符\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)
}
}
1、先把String 转成JsonObejct,再把JsonObejct.toString()的记过保存,我感觉Json会自动转换格式,你可以尝试一下。2、在你输入到文件的时候,手动在你需要换行的地方输出换行符 \n,这个就要看你自己的需要了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)