当时利用谷歌提供的接口做了个从谷歌图片中的批量下载功能,用到jquery、json编码、java网络编程、IO流、多线程。
遇到了个困扰我好长时间的问题就是从URL获取流的时候,遇到中文就好再json串中形成乱码,造成json无法准确解析会报错:
org.json.JSONException: Expected a ',' or '}' at 477 [character 478 line 1]
查了很多资料:
首先要改下从前端获取的值要进行一次编码:
String imageName = request.getParameter("imageName");
int imageNum = Integer.parseInt(request.getParameter("imageNum"));
String keyword = java.net.URLEncoder.encode(imageName,"UTF-8");
然后:
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in,"UTF-8"));
我这样改下就好了。很开心!