Ext.encode(json)用于把json对象转换成字符串,并且转译其中的汉字和特殊字符,Ext.decode(string)则是把字符串转换成json对象
在开发中经常需要在页面间传递json对象,这时候就可以用到这两个方法
页面一
var string = Ext.encode(json);
页面二
var string = '<%=request.getParameter("string")%>';
var json = Ext.decode(string);
在这里可能会存在特殊字符导致decode方法失败的问题,因为var string = '<%=request.getParameter("string")%>';重新定义之后,之前encode方法提供的转译就已经失效了。。。
那么页面二可以改为这样:
//<%=request.getParameter("string")%>不带引号可以当做对象来使用,encode可以重新转译特殊字符
var string = Ext.encode(<%=request.getParameter("string")%>);
var json = Ext.decode(string);
这样就不会有特殊字符的问题了