如何为List 创建JSONArray

我有一个叫做的课

class Student { String name; String age; } 

我有一个返回List对象的方法

 public List getList(){ List li =new ArrayList(); .... li.add(new Student('aaa','12')); ... return li; } 

我需要将该列表转换为JSONArray

 [{"name":"sam","age":"12"},{"name":"sri","age":"5"}] 

任何人都可以帮我解决这个问题吗? 谢谢你提前..

我想你不需要下载jettison jar文件。

使用JSONArrayJSONObject您可以轻松地将该列表转换为JSON对象,如@Juniad answer

使用Gson Library非常简单。

从JSON String到Object的ArrayList:

 Type listType = new TypeToken>(){}.getType(); ArrayList yourClassList = new Gson().fromJson(jsonArray, listType); 

从对象的Array List到Json:

 ArrayList sampleList = new ArrayList(); String json = new Gson().toJson(sampleList); 

Gson库比JSONObjectJSONArray实现更简单。

您必须在项目中包含jettison jar并导入所需的类。

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

尝试gson: 序列化和反序列化 – 通用类型

json-lib可能是您正在寻找的库。 你可以在这里找到使用的som例子。

如果要将Object直接映射到json或想要将json转换为object,可以使用GSON库。 这将为您提供更多的灵活性和控制力。

下载链接 – http://code.google.com/p/google-gson/

教程链接 – http://www.mkyong.com/java/how-do-convert-java-object-to-from-json-format-gson-api/