0
我正在使用Eclipse,用于需要从URL读取JSON文件的应用程序。JSON只读取对象,没有数组
我正在使用的代码是这一个:
http://collegewires.com/android/2012/06/json-parsing-in-android/
好吧,我使用JSON读取该文件的类被称为Parser.java:
package com.cw.json;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;
public class Parser {
static InputStream is = null;
static JSONObject jsonObject = null;
static String json = "";
// class constructor
public Parser() {
}
public JSONObject getJSONFromUrl(String url) {
// Making HTTP request
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException exception) {
exception.printStackTrace();
} catch (ClientProtocolException exception) {
exception.printStackTrace();
} catch (IOException exception) {
exception.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sBuilder = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sBuilder.append(line + "\n");
}
is.close();
json = sBuilder.toString();
} catch (Exception exception) {
exception.printStackTrace();
}
// Parsing the string to a JSON object
try {
jsonObject = new JSONObject(json);
} catch (JSONException exception) {
exception.printStackTrace();
}
// JSON String
return jsonObject;
}
}
我正在使用这段代码读取一个直接是ARRAY的JSON文件,但代码给了我一个错误。
我的问题是:是否有可能读取一个数组,而不是总是读取一个对象? 也许使用另一个类?
请发布错误日志。 –
如果通过“也许使用另一个班级?”你的意思是另一个工具或库,那么这个问题的一部分就是堆栈溢出的主题:“问题要求我们推荐或找到一个工具,库或最喜欢的非现场资源,因为它们倾向于吸引堆栈溢出自以为是的答案和垃圾邮件,而是描述问题以及迄今为止解决问题所做的工作。“ –
你应该看看[Jackson](http://jackson.codehaus.org/)。这是一个功能完备的JSON序列化/反序列化库。 – jwismar