.net 过滤json等字符串里的特殊字符

JSON现在是很常见的处理数据的方式了,但是在使用JSON的时候,有些特殊字符会让我们得到非预期的结果。JSon数据中常见的特殊字符有:引号,正斜杠,反斜杠,换行符号等。下面介绍JSON中的特殊字符该如何去掉的方法

使用JSON从后台向前台传输数据的时候,当数据本身含有一些特殊字符,会导致JSON数据的解析出错。这个时候,就需要将JSON中的特殊字符过滤掉。

用下面的方法对即将向前台输出的json字符串进行处理,可以解决键盘上能输入的所有特殊字符问题。


/// <summary>  
    /// 过滤特殊字符  
    /// </summary>  
    /// <param name="s"></param>  
    /// <returns></returns>  
    private static string String2Json(String s)
    {
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < s.Length; i++)
        {
            char c = s.ToCharArray()[i];
            switch (c)
            {
                case '\"':
                    sb.Append("\\\""); break;
                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:
                    if ((c >= 0 && c <= 31)||c ==127)//在ASCⅡ码中,第0~31号及第127号(共33个)是控制字符或通讯专用字符
                    {
                         //TODO
                    }                  
                    else
                    {
                        sb.Append(c);
                    }
                    break;
            }
        }
        return sb.ToString();
    }

转载自:https://www.cnblogs.com/sevene/p/4727794.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值