.NET种Json时对单引号和特殊字符串的处理
2012-09-27 12:58
302 查看
在Asp.NET的Json处理中,通常会遇到使用单引号或其他特殊字符,如果直接使用,会截断Json数据,造成JS错误无法正确运行。
其实只要使用Javascript的escape方法编码字符串后就可以解决这个问题。
但是在C#代码中怎么解决这个问题呢?
我们自然就想到了使用Server.UrlEncode方法来编码数据,可是实践后发现编码后的有些字符在JS中无法被unescape方法还原。
其实解决方法很简单,引用Microsoft.JScript程序集后,使用GlobalObject类的escape方法就行了。
这个方法作用和Server.UrlEncode类似,但是它相当于是在C#代码里调用了javascript的escape方法,自然而然可以保证能被unescape方法还原。
.cs中
1 Microsoft.JScript.GlobalObject.escape(strJS)
.js中
var csStr = unescape(json.csStr)
要先添加引用
添加引用--".NET"选项卡---"Microsoft.JScript"和"Microsoft.Vsa"加入之后
才能去使用using
另:
可以 用replace解决里面包含单引号的问题?
Quote from:http://www.jiaonan.tv/html/blog/1/28008.htm
其实只要使用Javascript的escape方法编码字符串后就可以解决这个问题。
但是在C#代码中怎么解决这个问题呢?
我们自然就想到了使用Server.UrlEncode方法来编码数据,可是实践后发现编码后的有些字符在JS中无法被unescape方法还原。
其实解决方法很简单,引用Microsoft.JScript程序集后,使用GlobalObject类的escape方法就行了。
这个方法作用和Server.UrlEncode类似,但是它相当于是在C#代码里调用了javascript的escape方法,自然而然可以保证能被unescape方法还原。
.cs中
1 Microsoft.JScript.GlobalObject.escape(strJS)
.js中
var csStr = unescape(json.csStr)
要先添加引用
添加引用--".NET"选项卡---"Microsoft.JScript"和"Microsoft.Vsa"加入之后
才能去使用using
另:
可以 用replace解决里面包含单引号的问题?
Quote from:http://www.jiaonan.tv/html/blog/1/28008.htm
相关文章推荐
- .NET种Json时对单引号和特殊字符串的处理
- .NET种Json时对单引号和特殊字符串的处理
- [C#技术] .NET种Json时对单引号和特殊字符串的处理
- .NET种Json时对单引号和特殊字符串的处理
- PHP json字符串对特殊字符处理(单引号,双引号)
- asp.net处理Json数据时单引号与特殊字符串的处理
- C#: json字符串中的特殊字符处理
- iOS中使用NSJSONSerialization转换成json字符串后传递到后台的引号转义处理
- iOS Json解析中特殊字符串('\' '\r' '\n' ' ' 等)处理
- 实用记录.NET处理json数据中单引号和特殊字符串
- C#: json字符串中的特殊字符处理
- json字符串中的特殊字符处理
- JSON 字符串 单引号双引号 处理
- json中含有特殊字符串如何处理
- json特殊字符串的处理
- json特殊字符串处理
- web.config中配置字符串中特殊字符的处理
- Json.NET特殊处理64位长整型数据
- C#中JSON字符串的处理
- jsp当中JSTL对特殊字符的处理(单引号、双引号、小于号、大于号和&符号)