【问题标题】:Need to get JSONObjects from this需要从中获取 JSONObjects
【发布时间】:2016-06-14 11:41:26
【问题描述】:

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

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

响应只是下载的数据。

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);
}

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

【问题讨论】:

    标签: java android json sqlite


    【解决方案1】:

    你得到的响应是一个数组,所以你应该把它放在一个数组中:

    JSONArray jsonArray = new JSONArray(response);
    

    【讨论】:

    • 嗨,在这之后我应该把它放在一个 for 循环中??
    • 是的,就像你之前做的一样(但使用 JSONArray)
    【解决方案2】:

    试试下面的代码,

       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);
      }
    

    【讨论】:

    • 与@Dennis 所说的有何不同?
    • 非常感谢您的回复,让我试试看
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多