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

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

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

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

 

复制代码
 1     /// <summary>  
 2     /// 过滤特殊字符  
 3     /// </summary>  
 4     /// <param name="s"></param>  
 5     /// <returns></returns>  
 6     private static string String2Json(String s)
 7     {
 8         StringBuilder sb = new StringBuilder();
 9         for (int i = 0; i < s.Length; i++)
10         {
11             char c = s.ToCharArray()[i];
12             switch (c)
13             {
14                 case '\"':
15                     sb.Append("\\\""); break;
16                 case '\\':
17                     sb.Append("\\\\"); break;
18                 case '/':
19                     sb.Append("\\/"); break;
20                 case '\b':
21                     sb.Append("\\b"); break;
22                 case '\f':
23                     sb.Append("\\f"); break;
24                 case '\n':
25                     sb.Append("\\n"); break;
26                 case '\r':
27                     sb.Append("\\r"); break;
28                 case '\t':
29                     sb.Append("\\t"); break;
30                 default:
31                     if ((c >= 0 && c <= 31)||c ==127)//在ASCⅡ码中,第0~31号及第127号(共33个)是控制字符或通讯专用字符
32                     {
33                          //TODO
34                     }                  
35                     else
36                     {
37                         sb.Append(c);
38                     }
39                     break;
40             }
41         }
42         return sb.ToString();
43     }
44 
45             
复制代码

 

posted @   sevene  阅读(3687)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示