如何在android中为字符串数组添加值

时间:2013-02-14 09:17:32

标签: android json for-loop arrays

我的代码有问题,

我有一个json数组

                [{"Response":{"data":"sibin1"}},{"Response":{"data":"sibin2"}},
                              {"Response": {"data":"sibin3"}}]

我试图使用下面的代码提取json数据,这里我只添加了一些coode的部分

                 JSONArray  finalResult = new JSONArray(tokener);
                 int finalresultlengt=finalResult.length();
                 JSONObject json_data = new JSONObject();
      for (int i = 0; i < finalResult.length(); i++) 
            {

          json_data = finalResult.getJSONObject(i);
          System.out.println("json dataa"+json_data.names().toString());
          JSONObject menuObject = json_data.getJSONObject("Response");
          result=   menuObject.getString("data");   
             System.out.println(result);
              }

代码运作良好

当值

                    i=0 ,result is sibin1
                    i=1 ,result is sibin2
                    i=2 ,result is sibin3

但我的问题是,我需要将结果存储在给定for循环内的长度finalresultlength的字符串数组中,我还需要在给定for循环外的for循环中打印字符串数组中的值 如果有人知道请帮助我............

1 个答案:

答案 0 :(得分:3)

你也可以这样做。

创建一个大小为'finalresultlengt'的ArrayList并添加值。

 list.add(result);  // variable 'result' in your case is the value from JSON

如果要添加更多值,请创建POJO类。

class POJO {
    private String dataVal;

    public void setDataVal(String dataVal) {
        this.dataVal = dataVal;
    }

    public String getDataVal() {
        return dataVal;
     }
 }

然后创建一个POJO类型的ArrayList。

 ArrayList<POJO> list = new ArrayList<POJO>(finalresultlengt);

修改

JSONArray  finalResult = new JSONArray(tokener);
int finalresultlengt=finalResult.length();
JSONObject json_data = new JSONObject();
ArrayList<String> list = new ArrayList<String>(finalresultlengt);

for (int i = 0; i < finalResult.length(); i++) {
      json_data = finalResult.getJSONObject(i);
      System.out.println("json dataa"+json_data.names().toString());
      JSONObject menuObject = json_data.getJSONObject("Response");
      result=   menuObject.getString("data");
      list.add(result);   
 }

从ArrayList填充值。

 for(String value : list) 
      System.out.println(value);