赞
踩
最近做项目调用接口返回比较复杂的json数据,在解析的时候一直报这样的错,sonSyntaxException:com.google.gson.stream.MalformedJsonException:Unterminated objec at line 1 column 423 path .... 把接收的json打印出来也是完整的。
到处查资料搞了好久,偶然机会看到关于编码问题,原来tomcat默认是ISO-8859-1,读取的接口数据中文乱码,修改InputStreamReader编码格式解决问题。
两种解决方法:
方法一,设置tomcat字符编码为utf-8,这种方法缺点很大,要是哪天重装了tomcat又忘了设置了,那就大大的bug了~所以我直接跳过,
方法二,代码中进行编码转换,我使用的是BufferedReader,中间加一个InputStreamReader进行编码转换,这下总不会乱码了吧!呵呵,上代码:
public SajIot getHttpResponse(String allConfigUrl) { for(int i=0;i<userInfoVo.size();i++){
UserInfoVo infoVo=userInfoVo.get(i).getUserInfoVo();
if(infoVo.getPackageCode()=="prod.10086000002301"){
String packageCode= infoVo.getPackageCode();
String packageName= infoVo.getPackageName();
}
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
if (in != null) {
in.close();
}
} catch (Exception e2) {
e2.printStackTrace();
}
}
return sajIot;
}
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。