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':
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();
}