2013-02-14 62 views
0

我有我的代码有问题的字符串数组,如何将值添加到Android中

我有一个JSON数组

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

而且IAM尝试使用下面的代码来提取JSON数据,在这里,我只加

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

的代码工作非常出色

当VALU一些coode的部分的

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

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

+1

请重构您的问题以使其可读。修复缩进并尝试添加一些标点符号。 – 2013-02-14 09:18:47

+0

请明确提出问题 – 2013-02-14 09:19:53

+0

在for循环之前声明一个字符串数组'String [] dataStrings = new String [finalResultLength];'然后作为for循环的最后一行添加'dataStrings [i] = result;' – rich200313 2013-02-14 09:20:47

回答

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中

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

EDIT

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

填充值。

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

你可以请示例为arraylist,我想只添加几个数据 – 2013-02-14 09:26:51

+0

检查编辑的答案! – Renjith 2013-02-14 09:35:22

+0

嗨Renjith我使用(字符串值:列表) System.out.println(值);为打印,但它只打印第三个元素,我打印列表的大小,它显示1为什么????????? – 2013-02-14 11:23:42