日期:2014-05-17  浏览次数:20473 次

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

------解决方案--------------------


    /// <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':
     &nb