How to create JSON Object using String?

android, java, json

Solution

`org.json.JSONArray` may be what you want.

String message;
JSONObject json = new JSONObject();
json.put("name", "student");

JSONArray array = new JSONArray();
JSONObject item = new JSONObject();
item.put("information", "test");
item.put("id", 3);
item.put("name", "course1");
array.put(item);

json.put("course", array);

message = json.toString();

// message
// {"course":[{"id":3,"information":"test","name":"course1"}],"name":"student"}

Problem

I want to create a JSON Object using String. Example : JSON `{"test1":"value1","test2":{"id":0,"name":"testName"}}` In order to create the above JSON I am using this. ``` String message; JSONObject json = new JSONObject(); json.put("test1", "value1"); JSONObject jsonObj = new JSONObject(); jsonObj.put("id", 0); jsonObj.put("name", "testName"); json.put("test2", jsonObj); message = json.toString(); System.out.println(message); ``` I want to know how can I create a JSON which has JSON Array in it. Below is the sample JSON. ``` { "name": "student", "stu": { "id": 0, "batch": "batch@" }, "course": [ { "information": "test", "id": "3", "name": "course1" } ], "studentAddress": [ { "additionalinfo": "test info", "Address": [ { "H.No": "1243", "Name": "Temp Address", "locality": "Temp locality", "id":33 }, { "H.No": "1243", "Name": "Temp Address", "locality": "Temp locality", "id":33 }, { "H.No": "1243", "Name": "Temp Address", "locality": "Temp locality", "id":36 } ], "verified": true, } ] } ``` Thanks.

Original source