Android通过http方式获取JSON字符串并解析的注意事项(乱码,小黑框)
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
在windows平台下换行符是 /r/n ,而在linux,android平台下换行符是 /n ,所以取得的JSON字符串必须进行过滤,将/r/n替换成/n,
另外不建议使用 BasicResponseHandler() ,这样会导致乱码
两个重要函数:
public static String get(String urlString) {
/*try{
HttpGet request = new HttpGet(urlString);
String result=getHttpClient().execute(request,new BasicResponseHandler());
return result;
}catch(IOException e){
throw e;
}*/
String result="";
BufferedReader in=null;
try {
HttpClient client = new DefaultHttpClient();
HttpGet request=new HttpGet(urlString);
HttpResponse response = client.execute(request);
in=new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer sb=new StringBuffer("");
String line="";
String NL=System.getProperty("line.separator");
// String NL="";
while((line=in.readLine())!=null){
sb.append(line+NL);
}
in.close();
result=sb.toString();
result=JsonFilter(result);
}
catch (Exception e) {
e.printStackTrace();
}
finally{
if(in!=null){
try{
in.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
return result;
}
/*
* 对json字符串进行过滤,防止乱码和黑框
*/
public static String JsonFilter(String jsonstr){
return jsonstr.substring(jsonstr.indexOf("{")).replace("\r\n","\n");
}
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献3条内容
所有评论(0)