可能是重复问题:
JSON解析问题
我正在解析一个JSON文件(它是有效的)。它在Android 4.0-4.0.4上工作,但不适用于旧版本的Android。 这是我的清单的一部分:
<uses-sdk
android:minSdkVersion="7"
android:targetSdkVersion="14" />
这是我的解析代码:
public JSONObject getJSONFromUrl(String url) {
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "UTF-8"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
json = sb.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
return jObj;
}
在旧设备上,我收到以下错误消息(但如我所说,新的Android设备上没有):
org.json.JSONException:无法将类型为java.lang.String的值转换为JSONObject
我完全不知道为什么它可以在Android 4上工作,但不能在旧设备上工作。
从这里找到Json。