赞
踩
二:
前提是String的格式是map或json类型的
String 转Json
JSONObject jasonObject = JSONObject.fromObject(str);
String 转Map
JSONObject jasonObject = JSONObject.fromObject(str); Map map = (Map)jasonObject;
在网页之间传递数据出现中文乱码解决方案:
例如请求接口返回一个map或json数据,包含中文
1,先将map或json转成string格式,如果是map类型的,先转成json JSONObject json=new JSONObject(map); json.toJSONString();转成string格式
2,利用URLEncoder.encoder(str,"UTF-8")或"GBK"对string加密处理,发送加密后的str
3,在接受端,收到str后,URLDecoder.decoder(str,"UTF-8")解密成正常str,一般要转成json需要去掉开始结尾的引号,str=str.substring(1,str.length()-1),再用JSONObject.formObject(str)将str转成json;之后需要转map,Map map = (Map)json即可
三:
第一种方式:
使用js函数eval();
testJson=eval(testJson);是错误的转换方式。
正确的转换方式需要加(): testJson = eval("(" + testJson + ")");
eval()的速度非常快,但是他可以编译以及执行任何javaScript程序,所以会存在安全问题。在使用eval()。来源必须是值得信赖的。需要使用更安全的json解析器。在服务器不严格的编码在json或者如果不严格验证的输入,就有可能提供无效的json或者载有危险的脚本,在eval()中执行脚本,释放恶意代码。
js代码:
第二种方式使用jquery.parseJSON()方法对json的格式要求比较高,必须符合json格式
jquery.parseJSON()
js:代码
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。