gpt4 book ai didi

java - Android Eclipse 中损坏的 Json

转载 作者:行者123 更新时间:2023-11-30 03:08:55 25 4
gpt4 key购买 nike

我在从服务器接收 json 结果时遇到了一个奇怪的问题。我不知道问题出在哪里。问题是我的 String json 结果已损坏,带有奇怪的符号。

结果是这样的(取自eclipse debug)

图片:

发生的另一件奇怪的事情是,当我将服务的 URL 更改为替代服务时,它可以正常工作并且数据没有损坏。网址是相同的,但一旦将所有内容重定向到另一个。始终使用的 URL 是(示例)http://www.hello.com有效的 URL 是 http://www.hello.com.uy(出于安全原因不能发布确切的链接)

第二个将所有内容重定向到第一个,这是它唯一做的事情。

我已尝试将编码更改为 UTF-8,但它仍然无法正常工作,这是代码(其中一个 URL 已被注释)

我还尝试使用 chrome 的 Dev HTTP Client 扩展来检查服务,它工作正常,没有损坏的数据。此外,它在 iOS 上运行完美,所以我认为它只是 android/java 问题。

开发客户端: enter image description here

try {
JSONObject json = new JSONObject();
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, 10000);
HttpConnectionParams.setSoTimeout(httpParams, 10000);
HttpClient client = new DefaultHttpClient(httpParams);

//String url = TAG_BASEURL_REST +"Sucursal";
String url = "http://www.-------.com/rest/Sucursal";
//String url = "http://www.--------.com.uy/rest/Sucursal";

HttpGet request = new HttpGet(url);
request.setHeader("Accept", "application/json");
request.setHeader("Content-type", "application/json");

HttpResponse response = client.execute(request);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream is = entity.getContent();
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 + "\n");
}
is.close();
String jsonRes = sb.toString();
JSONArray jObj = new JSONArray(jsonRes);

return jObj;
}
} catch (Throwable t) {
Log.i("Error", "Request failed: " + t.toString(), t);
}
return null;

最佳答案

InputStream is = entity.getContent();

// check if the response is gzipped
Header encoding = response.getFirstHeader("Content-Encoding");
if (encoding != null && encoding.getValue().equals("gzip")) {
is = new GZIPInputStream(is);
}

关于java - Android Eclipse 中损坏的 Json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21313696/

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