2013-05-11 119 views
20

是否可以將多個不同的JSONObject s存儲到單個JSONArray?這是結構,我想存儲在JSONArray如何把/多個JSONObjects放入JSONArray?

[{"value1":1,"value2":900,"value3":1368349},{"value1":2,"value2":1900,"value3":136856},{"value1":3,"value2":600,"value3":136845}] 

這裏就是我設置JSONObject,並把它變成一個JSONArray

if(somecondition) { 
    // putting values to json object 
    jsonObj.put("value1", 1); 
    jsonObj.put("value2", 900); 
    jsonObj.put("value3", 1368349); 
} 
for(int i=0;i<=jsonArray.length();i++){ 
    jsonArray.put(jsonObj); 
    appObj.setJsonAlarmArray(jsonArray); 
    // appObj is object of Application Class 
    editor= sharedPrefs.edit(); 
    editor.putString("key", jsonArray.toString()); 
    System.out.println(jsonArray.toString()); 
    editor.commit(); 
} 

使用此代碼只有最後的價值,這是我在JSON對象覆蓋正在設置對所有對象的代碼。任何建議來實現這一目標?

+0

@dda感謝您糾正我的問題。 – PSK 2013-05-11 09:37:57

回答

27

我發現非常好的鏈接JSON。 Here

下面是將多個JSONObjects添加到JSONArray的代碼。

JSONArray obj = new JSONArray(); 
    try { 
     for(int i = 0; i < 3; i++) { 
      // 1st object 
      JSONObject list1 = new JSONObject(); 
      list1.put("val1",i+1); 
      list1.put("val2",i+2); 
      list1.put("val3",i+3); 
      obj.put(list1); 
     } 
    } catch (JSONException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    } 

    Toast.makeText(MainActivity.this, ""+obj, Toast.LENGTH_LONG).show();   
+0

我試過同樣的事情,但只有最後一個json對象被多次追加......我不知道出了什麼問題 – chopss 2014-12-26 08:39:30

+0

它遲到了,但你有沒有聲明JSONObject到你的for循環。 @chopu – PSK 2015-04-21 04:50:21

+0

謝謝你的回答,但我已經知道了.......爲什麼這麼晚? – chopss 2015-04-22 06:12:45

8

將值放入JSONObject後,將JSONObject放入JSONArray staright中。

事情是這樣的,也許:

jsonObj.put("value1", 1); 
jsonObj.put("value2", 900); 
jsonObj.put("value3", 1368349); 
jsonArray.put(jsonObj); 

然後創建新的JSONObject,把其他值到它,並把它添加到JSONArray:

jsonObj.put("value1", 2); 
jsonObj.put("value2", 1900); 
jsonObj.put("value3", 136856); 
jsonArray.put(jsonObj); 
+0

我在按鈕單擊上設置JSONObject中的值。所以當第二次點擊按鈕時,JSONObjects的值自動設置。 @Ash – PSK 2013-05-11 10:23:44

+0

@PSK看起來好像我還沒有正確理解這個問題,你能稍微解釋一下你正在嘗試做什麼嗎? – Ash 2013-05-11 10:32:14

+0

我發現JSON的鏈接非常好。我已經添加了我的答案。@ Ash – PSK 2013-05-11 10:43:21