mysql数据库中有一个字段类型为json,而且其中存在key=中文,而不是key=“中文”,这种数据在对外提供接口数据的时候,发现页面返回的数据是乱码!!!!我勒个去!
Debug时发现,无论使用JSONObject还是Gson去解析从mysql中查询出来的字符串得到的结果都是乱码!
后来发现了下面这篇博客的内容后尝试后成功了!
1.比如接口传参数为中文会乱码
接口中传过来key=中文;;;;而不是这种类型的“中文”,会乱码报错什么的,解决方法
byte[] temp=key.getBytes("iso8859-1");
key = new String(temp);
以下是我的处理方式,成功解析!
JSONArray json1= JSONObject.parseArray(new String(result.getList().getBytes("iso8859-1"), "UTF-8"));
List json2 = gson.fromJson(new String(result.getList().getBytes("iso8859-1"), "UTF-8"), List.class);
System.out.println("json1="+ json1);
System.out.println("json2="+ json2);