在json如何处理换行符?json解析有哪些方法?

JSON 是轻量级的文本数据交换格式,简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言,所以在企业开发中经常会使用到json,那json如何处理换行符?下面来我们就来给大家讲解一下。

在json如何处理换行符.png

去掉显然不合适。有些字段本来就有换行符,如何能去掉?测试一下json类的处理,也没有发现。想不到最终的处理确实如此简单:

后台代码把换行符\r\n替换为\\r\\n,前台代码js收到的字符就是\r\n

public static string ConvertFromListTojson(IListlist, 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, 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, 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);
    }
}

json解析有哪些方法?

解析JSON数据的三种方法的介绍如下:

eval()方法

解析JSON数据的最常用方法是使用javascript的eval()方法,代码如下:

代码如下:

function toJson(str)
{
    var json = eval('(' + str + ')');
    return json;
}

该方法存在性能和安全方面的问题,不建议使用。

new Function方法

代码如下:

function toJson(str)
{
    var json = (new Function("return " + str))();
    return json;
}

JSON.parse()方法

这种方法只支持IE8/Firefox3.5+/Chrome4/Safari4/Opera10 以上版本,这些浏览器都已经接近W3C标准,默认实现了toJSON方法。

代码如下:

function toJson(str)
{
    return JSON.parse(str);
}

json2.js会在浏览器原生支持JSON.parse的时候选用原生版本,而且它跟ES5是API兼容的。在ES5还没完全普及的现状下,John Resig大神推荐用json2.js主要是为了现在就能用跟ES5兼容的API,日后能平滑过渡到ES5——只要去掉一个import就换过来了。

我们进行json解析可以使用以上方法,json解析出的数据方便大家阅读以及理解,是开发中的好帮手!最后大家如果想要了解更多json工具教程知识,敬请关注奇Q工具网。

推荐阅读:

json换行识别不了怎么办?json常用类型有哪些?

java地图定位如何实现?java怎么做定位打卡功能?

qt如何下载安装?qt下载安装教程