com.google.gson.JsonSyntaxException:com.google.gson.stream.MalformedJsonException:Unterminated objec
来源:互联网 发布:重庆锐理数据 编辑:程序博客网 时间:2024/06/05 16:26
最近做项目调用接口返回比较复杂的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) {BufferedReader in = null;
StringBuffer result = null;
try {
URI uri = new URI(allConfigUrl);
URL url = uri.toURL();
URLConnection connection = url.openConnection();
connection.setRequestProperty("Content-Type",
"application/x-www-form-urlencoded");
connection.setRequestProperty("Charset", "utf-8");
connection.connect();
System.out.println("url地址是:"+url.toString());
result = new StringBuffer();
in = new BufferedReader(new InputStreamReader( // 读取URL的响应
connection.getInputStream(),"utf-8"));
String line;
while ((line = in.readLine()) != null) {
result.append(line);
}
String json=result.toString();
Gson gson = new Gson();
JsonBean jsonBean = gson.fromJson(json, JsonBean.class);
List<UserInfoVos> userInfoVo=jsonBean.getUserInfoVos();
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;
}
- com.google.gson.JsonSyntaxException:com.google.gson.stream.MalformedJsonException:Unterminated objec
- com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated obj
- com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException:
- com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException:解决办法
- com.google.gson.stream.MalformedJsonException
- com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Use JsonReader.s
- com.google.gson.JsonSyntaxException:com.google.gson.stream.MalformedJsonException的解决
- com.google.gson.JsonSyntaxException
- com.google.gson.JsonSyntaxException:
- com.google.gson.stream.MalformedJsonException的解决办法
- com.google.gson.stream.MalformedJsonException的解决办法
- com.google.gson.stream.MalformedJsonException的解决办法
- HTTP传输错误解决com.google.gson.stream.MalformedJsonException: Unterminated string at line 1 column 13
- 使用GSON抛出com.google.gson.stream.MalformedJsonException异常
- com.google.gson.JsonSyntaxException: com.google.gson.d.e: Unterminated object at line
- com.google.gson.JsonSyntaxException: 4.1.9
- com.google.gson.JsonSyntaxException的解决方法
- retrofit gson 解析json数据失败问题“com.google.gson.stream.MalformedJsonException:”
- SpringMVC-学习笔记(1)——理解MVC及快速入门
- 关于MYSQL数据库Timestamp类型为空抛异常问题的处理
- iOS声明变量在@interface括号中与使用@property的区别
- TCP/UDP常见端口参考
- father&&child透明度继承问题
- com.google.gson.JsonSyntaxException:com.google.gson.stream.MalformedJsonException:Unterminated objec
- httpurlconnection的Get请求和Post请求
- quote symbol expected异常处理
- mdb数据库转postgresql数据库
- salt-api安装配置
- Java中静态static和静态代码块
- RACSignal实践
- 小程序---延迟处理
- git 常用命令和管理