c#后台代码对Json进行编码

编辑器加载中...

 c#后台代码对Json进行编码   本文转载自http://www.cnblogs.com/ITniao/archive/2011/01/06/1929261.html(IT)鸟    在Asp.NET的Json处理中,通常会遇到使用单引号或其他特殊字符,如果直接使用,会截断Json数据,造成JS错误无法正确运行。 其实只要使用Javascript的escape方法编码字符串后就可以解决这个问题。 但是在C#代码中怎么解决这个问题呢? 我们自然就想到了使用Server.UrlEncode方法来编码数据,可是实践后发现编码后的有些字符在JS中无法被unescape方法还原。 其实解决方法很简单,引用Microsoft.JScript程序集后,使用GlobalObject类的escape方法就行了。 这个方法作用和Server.UrlEncode类似,但是它相当于是在C#代码里调用了javascript的escape方法,自然而然可以保证能被unescape方法还原。

.cs中 Microsoft.JScript.GlobalObject.escape(strJS);

.js中 var csStr = unescape(json.csStr);

posted @ 2011-12-01 18:11  落冰  阅读(623)  评论(0编辑  收藏  举报