gpt4 book ai didi

java - android json解析不断加载

转载 作者:行者123 更新时间:2023-12-01 15:02:37 25 4
gpt4 key购买 nike

我对android平台并不陌生,我之前已经解析过很多json页面,但是一个链接产生了问题。我正在使用以下函数返回 json 对象。程序在 reader.readline() 处停止,并且加载不会停止。

public JSONObject getJSONFromUrl(String url) {
DefaultHttpClient httpClient = new DefaultHttpClient();

try {

HttpResponse httpResponse = httpClient.execute(new HttpGet(url));
if (httpResponse.getStatusLine().getStatusCode()==200)
{
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
}

} catch (UnsupportedEncodingException e) {
e.printStackTrace();
System.out.println("Unsupported Encoding");
} catch (ClientProtocolException e) {
e.printStackTrace();
System.out.println("Client Protocol");
} catch (IOException e) {
e.printStackTrace();
System.out.println("IO");
}

try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;

while ((line = reader.readLine()) != null) {
sb.append(line);

}
is.close();
jsonStr = sb.toString();
} catch (Exception e) {
System.out.println("Error here");
Log.e("Buffer Error", "Error converting result " + e.toString());
}

// try parse the string to a JSON object
try {

jObj = new JSONObject(jsonStr);

} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}

return jObj;

}

有人可以提出建议吗?

最佳答案

我很确定这是由服务器未完成您的情况的响应引起的。首先尝试使用“curl”作为客户端来隔离它。

如果您像这样使用 EntitUtils,还有一种更简单的方法可以将正文获取到 String 中:

EntityUtils.toString(entity);

您还可以指定编码作为第二个参数。 http://developer.android.com/reference/org/apache/http/util/EntityUtils.html

关于java - android json解析不断加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13427973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com