.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             
时间: 2024-11-09 05:10:19

.net 过滤json等字符串里的特殊字符的相关文章

JSON(二)——JavaScript中js对象与JSON格式字符串的相互转换

首先我们来看一下js中JSON格式的字符串 var JSONStr1 = "{\"name\" : \"张三\"}"; 注意以下的写法不是js中JSON格式的字符串,它只是一个js的字符串. var JSONStr2 = "{'name' : '张三'}"; 我们看JSON语法中对于字符串的定义:是由双引号包围的任意数量Unicode字符的集合,使用反斜线转义.一个字符(character)即一个单独的字符串(characte

Javascript转义字符串中的特殊字符处理

2014-08-08 Web应用系统中,客户端发送请求到服务器,请求中的字符串参数,在被序列化成json过程中有些特殊字符会被空格代, 导致传递到服务器端再解析的时候,原本的输入参数就会被改变. 目前遇到的特殊字符有加号(+)与连接号(&). 临时解决方案: 前端:定义一个函数,在函数中预先处理, 1 function EncodeURIFilter(str) { 2 if(str != null && str != "") { 3 str = str.repl

JS里关于特殊字符的转义

重定向的url里含有百分号“%”,遇到了apache 找不到该文件的报错.通过查询相关文档,知道了原来是url里含有特殊字符要转码才能定位到正确的地址.比如"%"要转码为"%25","&"要转码为"%26",等等. 在javascript脚本里,有现成的转码函数可以调用,有3个:1,采用ISO Latin字符集对指定的字符串进行编码.所有的空格符.标点符号.特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编

Json解析字符串j简单实例

Json解析字符串实例,解析内容为: {"info":[{"code":"C","key":"028","nearest":"NO","value":"???"},{"code":"N","key":"0771","nearest"

把一个字符串里符合表情文字标签的地方全部替换为相应的图片的方法

1.表情数据: var emotion =[ {"name": "Expression_1","text": "[微笑]"}, {"name": "Expression_2","text": "[撇嘴]"}, {"name": "Expression_3","text": "[色

SpringMVC Ajax请求时返回json中文字符串的乱码问题的解决方案

1.org.springframework.http.converter.StringHttpMessageConverter类是处理请求或相应字符串的类,并且默认字符集为ISO-8859-1,所以在当返回json中有中文时会出现乱码. 2.StringHttpMessageConverter的父类里有个List<MediaType> supportedMediaTypes属性,用来存放StringHttpMessageConverter支持需特殊处理的MediaType类型,如果需处理的Me

在字符串里寻找某字符出现的个数

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace 字符串1 { class Program { static void Main(string[] args) { int n = 0; Console.WriteLine("请输入字符串:"); string B = Console.ReadLine(); B = B.ToLower(); if

需求:过滤下面这个网页里共723行 校对中里 行数为两位数的 行 并设置sz和rz在Windows和Linux之间发送和接收文件不用搭FTP

需求:过滤下面这个网页里共723行 校对中里 行数为两位数的 行 因为翻译当然要选择行数少的来翻译,翻译PG文档 https://github.com/postgres-cn/pgdoc-cn/wiki/check9.3grep  -E  "共[0-9]{2}行"  check9.3 [[email protected] ~]# grep  -E  "共[0-9]{2}行"  check9.3 |wc -l32 打开SecureCRT软件 -> Options

请求(Request)的参数(Parameter)里包含特殊字符(#等)的正确处理方式

遇到一个问题 在一个地址链接(URL)里使用  url?param1=val1&param2=val2  的方式传递参数,结果在获取参数值时发现不是当初设定的值. 具体案例 以特殊字符井号(#)为例. 部分参数值丢了 JS里设置参数 window.location="some_web_project/xxx.jsp?param_key=abc#xyz"; Java中取参数值 Sting paramVal = request.getParameter("param_ke