首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

JavaScriptSerializer有关问题

2014-01-01 
JavaScriptSerializer问题如果有个集合list 需要转成json格式,使用JavaScriptSerializer的Serialize方法。

JavaScriptSerializer问题
如果有个集合list 需要转成json格式,使用JavaScriptSerializer的Serialize方法。
但是list中某个string类型的字段含有',<,>这些符号。。得到的json中这些符号会变成unicode编码格式..
其他内容不会变。、
这个该怎么解决? 在线急等大神告知~~~~
JavaScriptSerializer有关问题
[解决办法]



    /// <summary>
    /// Encodes a string to be represented as a string literal. The format
    /// is essentially a JSON string.
    /// 
    /// The string returned includes outer quotes 
    /// Example Output: "Hello "Rick"!\r\nRock on"
    /// </summary>
    /// <param name="s"></param>
    /// <returns></returns>
    public static string EncodeJsString(string s)
    {
        StringBuilder sb = new StringBuilder();
        sb.Append(""");
        foreach (char c in s)
        {
            switch (c)
            {
                case '"':
                    sb.Append("\\"");
                    break;
                case '\\':
                    sb.Append("\\\");
                    break;
                case '\b':
                    sb.Append("\\b");
                    break;
                case '\f':
                    sb.Append("\\f");
                    break;
                case '\n':
                    sb.Append("\\n");
                    break;
                case '\r':
                    sb.Append("\\r");
                    break;
                case '\t':
                    sb.Append("\\t");
                    break;
                default:
                    int i = (int)c;
                    if (i < 32 
[解决办法]
 i > 127)
                    {
                        sb.AppendFormat("\\u{0:X04}", i);


                    }
                    else
                    {
                        sb.Append(c);
                    }
                    break;
            }
        }
        sb.Append(""");
     
        return sb.ToString();
    }



热点排行