Как поместить / получить несколько JSONObjects в JSONArray?

Можно ли хранить несколько разных JSONObject s в одном JSONArray ? Это структура, которую я хочу сохранить в 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, переопределяет все объекты. Любые предложения для достижения этого?

Solutions Collecting From Web of "Как поместить / получить несколько JSONObjects в JSONArray?"

Я нашел очень хорошую ссылку для JSON. Вот

Вот код для добавления нескольких 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(); 

После того, как вы поместили значения в объект JSONObject, поместите JSONObject в режим ожидания JSONArray.

Что-то вроде этого может быть:

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