动态存储webservice JSON响应

时间:2014-05-21 10:43:41

标签: android

我正在使用 AsyncTask 调用Web服务,如下所示:

doInBackground()方法中的

            HttpClient httpClient=new DefaultHttpClient();
            HttpGet httpGet=new HttpGet(URL);
            HttpResponse httpResponse=httpClient.execute(httpGet);
            HttpEntity httpEntity=httpResponse.getEntity();
            Response=EntityUtils.toString(httpEntity);
postExecute()方法中的

            JSONObject jsonObject=new JSONObject(Response);
            JSONArray jsonArray=jsonObject.getJSONArray("Table");

            JSONObject jsonObject1=jsonArray.getJSONObject(1);
            JSONObject jsonObject2=jsonArray.getJSONObject(2);
            JSONObject jsonObject3=jsonArray.getJSONObject(3);
            JSONObject jsonObject4=jsonArray.getJSONObject(4);
            JSONObject jsonObject5=jsonArray.getJSONObject(5);
            JSONObject jsonObject6=jsonArray.getJSONObject(6);
            JSONObject jsonObject7=jsonArray.getJSONObject(7);
            JSONObject jsonObject8=jsonArray.getJSONObject(8);
            JSONObject jsonObject9=jsonArray.getJSONObject(9);
            JSONObject jsonObject10=jsonArray.getJSONObject(10);

我不希望响应中的所有数据,只有两个值表示名称主题

String textView1[]={jsonObject1.getString("Name"), jsonObject2.getString("Name"), jsonObject3.getString("Name"), jsonObject4.getString("Name"), jsonObject5.getString("Name"),jsonObject6.getString("Name"),jsonObject7.getString("Name"),jsonObject8.getString("Name"),jsonObject9.getString("Name"),jsonObject10.getString("Name"),jsonObject11.getString("Name"),jsonObject12.getString("Name")};

String textView2[]={jsonObject1.getString("Subject"), jsonObject2.getString("Subject"), jsonObject3.getString("Subject"), jsonObject4.getString("Subject"), jsonObject5.getString("Subject"),jsonObject6.getString("Subject"),jsonObject7.getString("Subject"),jsonObject8.getString("Subject"),jsonObject9.getString("Subject"),jsonObject10.getString("Subject"),jsonObject11.getString("Subject"),jsonObject12.getString("Subject")};

所有这些数据都绑定到列表。

这种方式我无法加载100个值,如何动态存储?或者如何循环?如何使用ArrayList ??

任何帮助??

2 个答案:

答案 0 :(得分:1)

为什么不将它存储在ArrayList或HashMap中呢?

ArrayList<String> names = new ArrayList<String>();
for(int i = 0; i; i < jsonArray.size(); i++){ 
    names.add(jsonArray.getJSONObject(i).getString("name"));
}

答案 1 :(得分:0)

 ArrayList<String> Names = new ArrayList<String>();

 ArrayList<String> Subject= new ArrayList<String>();

 for(int i = 0; i; i < jsonArray.size()-1; i++) { 

           Names.add(jsonArray.getJSONObject(i).getString("Name").toString());
           Subject.add(jsonArray.getJSONObject(i).getString("Subject").toString());
  }

然后我们可以绑定到列表视图。