需要从中获取JSONObjects

时间:2016-06-14 11:41:27

标签: java android json sqlite

这是我的网址“http://182.18.161.240:7070/sfaweb-1.1.015/get/retailers/dl-0004/2

我能够通过排球下载数据,但是在解析时我无法从中检索任何内容。非常感谢帮助。

响应只是下载的数据。

JSONObject jsonObject=new JSONObject(response);

for(int i=0;i<jsonObject.length();i++) {
    //JSONObject jsonObject1=jsonArray.getJSONObject(i);
    String rtrname=jsonObject.getString("rtrname").toString();
    String ctgname=jsonObject.getString("ctgname").toString();
    String rtrphoneno=jsonObject.getString("rtrphoneno").toString();

    str+= "\n rtrname:"+rtrname+"\n ctgname:"+ctgname+"\n rtrphoneno:" +rtrphoneno+"\n";
    boolean isInserted = database.insertData(rtrname,ctgname,rtrphoneno);
}

我错过了什么? 我已经坚持了很长一段时间,所以请帮助我。我对此有点新鲜。

2 个答案:

答案 0 :(得分:2)

您获得的响应是​​一个数组,因此您应该将它放在一个数组中:

JSONArray jsonArray = new JSONArray(response);

答案 1 :(得分:0)

尝试以下代码,

   JSONArray jsonArray = new JSONArray(response);       

  for(int i=0;i < jsonArray.length(); i++) 
  {
    JSONObject jsonObject= jsonArray.getJSONObject(i);

     //JSONObject jsonObject1=jsonArray.getJSONObject(i);
     String rtrname=jsonObject.getString("rtrname").toString();
     String ctgname=jsonObject.getString("ctgname").toString();
     String rtrphoneno=jsonObject.getString("rtrphoneno").toString();

     str+= "\n rtrname:"+rtrname+"\n ctgname:"+ctgname+"\n rtrphoneno:" +rtrphoneno+"\n";
     boolean isInserted = database.insertData(rtrname,ctgname,rtrphoneno);
  }