Is it possible to store multiple different JSONObject
s into a single JSONArray
? This is the structure, I want to store in a JSONArray
.
[{"value1":1,"value2":900,"value3":1368349},{"value1":2,"value2":1900,"value3":136856},{"value1":3,"value2":600,"value3":136845}]
Here’s the code where I am setting JSONObject
and putting it into a 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(); }
Using this code only the last value, which I am setting in JSON object Override to all objects. Any suggestions to achieve this?
Advertisement
Answer
I found very good link for JSON: http://code.google.com/p/json-simple/wiki/EncodingExamples#Example_1-1_-_Encode_a_JSON_object
Here’s code to add multiple JSONObjects to 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();