I have a class called
class Student {
String name;
String age;
}
I have a method that returns List object like
publi
You will have to include the jettison
jar in you project and import the required classes.
JSONObject jObject = new JSONObject();
try
{
JSONArray jArray = new JSONArray();
for (Student student : sudentList)
{
JSONObject studentJSON = new JSONObject();
studentJSON.put("name", student.getName());
studentJSON.put("age", student.getAge());
jArray.put(studentJSON);
}
jObject.put("StudentList", jArray);
} catch (JSONException jse) {
jse.printStacktrace();
}
I think you need not download the jettison jar file.
Using JSONArray
and JSONObject
you can easily convert that list into JSON object like @Juniad answer
When you want to map Object to json directly or want to convert json to object, you can use GSON library . this will give you more flexibility and control.
Download link - http://code.google.com/p/google-gson/
Tutorial link - http://www.mkyong.com/java/how-do-convert-java-object-to-from-json-format-gson-api/
Using Gson
Library it will be very simple.
From JSON String to ArrayList of Object as:
Type listType =
new TypeToken<ArrayList<Student>>(){}.getType();
ArrayList<Student> yourClassList = new Gson().fromJson(jsonArray, listType);
And to Json from Array List of Object as:
ArrayList<Student> sampleList = new ArrayList<Student>();
String json = new Gson().toJson(sampleList);
The Gson Library is more simple to use than JSONObject
and JSONArray
implementation.
try gson: Serializing-and-Deserializing-Generic-Types
Create JSONArray like below.
JSONArray jsArray = new JSONArray(arrayList);