Java 解析来自VKAPI的JSON响应
我试图解析来自JSON vk api wall.get(示例响应)方法的响应,但遇到了问题 这是JSON结构的类Java 解析来自VKAPI的JSON响应,java,android,json,Java,Android,Json,我试图解析来自JSON vk api wall.get(示例响应)方法的响应,但遇到了问题 这是JSON结构的类 public class Wall implements Serializable { private static final long serialVersionUID = 1L; public long from_id; public long to_id; public long date; public String text;
public class Wall implements Serializable {
private static final long serialVersionUID = 1L;
public long from_id;
public long to_id;
public long date;
public String text;
public long id;
public String online;
public static Wall parse(JSONObject o) throws JSONException {
Wall wm = new Wall();
wm.id = o.getLong("id");
wm.from_id = o.getLong("from_id");
wm.to_id = o.getLong("to_id");
wm.date = o.getLong("date");
wm.online = o.getString("online");
wm.text = o.getString("text");
return wm;
}
我尝试解析JSON响应
protected ArrayList<Wall> parse(String source) throws JSONException{
ArrayList<Wall> result = new ArrayList<Wall>();
JSONObject js = new JSONObject(source);
JSONArray response = new js.getJSONArray("items"); ///this throws exception
for (int i=0; i< response.length(); i++){
Wall wall = new Wall();
JSONObject jo = response.getJSONObject(i);
wall.from_id = jo.getLong("from_id");
wall.id = jo.getLong("id");
wall.to_id = jo.getLong("to_id");
wall.date = jo.getLong("date");
wall.online = jo.getString("online");
wall.text = jo.getString("text");
}
return result;
}
}
受保护的ArrayList解析(字符串源代码)抛出JSONException{
ArrayList结果=新建ArrayList();
JSONObject js=新的JSONObject(源);
JSONArray response=new js.getJSONArray(“items”);///这会引发异常
对于(int i=0;i
您的json数组名称是响应
不是项
,请使用:
JSONArray response = new js.getJSONArray("response");
而不是:
JSONArray response = new js.getJSONArray("items");
您没有将墙
对象添加到结果
for (int i=0; i< response.length(); i++){
Wall wall = new Wall();
JSONObject jo = response.getJSONObject(i);
wall.from_id = jo.getLong("from_id");
wall.id = jo.getLong("id");
wall.to_id = jo.getLong("to_id");
wall.date = jo.getLong("date");
wall.online = jo.getString("online");
wall.text = jo.getString("text");
result.add(wall);
}
for(int i=0;i
试试这个库,它在json的web服务响应中帮助了我,它很容易使用:
希望这对您有所帮助有什么问题?你没有发布你的问题。也请张贴您的日志。