如何为List <class name =“”> </class>创建JSONArray

时间:2012-05-29 09:59:42

标签: java json list arraylist

我有一个名为

的班级
class Student {
   String name;
   String age;
}

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

public List<Student> getList(){

 List<Student> li =new ArrayList();
 ....

 li.add(new Student('aaa','12'));
 ... 

 return li;    
}

我需要将该列表转换为JSONArray,就像这样

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

任何人都可以帮我解决这个问题吗?在Advancee ..谢谢。

6 个答案:

答案 0 :(得分:17)

您必须在项目中包含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();
}

答案 1 :(得分:4)

我认为您无需下载jettison jar文件。

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

答案 2 :(得分:1)

答案 3 :(得分:1)

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

答案 4 :(得分:1)

如果要直接将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/

答案 5 :(得分:0)

创建JSONArray,如下所示。

JSONArray jsArray = new JSONArray(arrayList);