如何为列表创建JSONArray
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为列表创建JSONArray相关的知识,希望对你有一定的参考价值。
我有一个叫做的课
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"}]
任何人都可以帮助我这个吗?提前致谢..
我想你不需要下载jettison jar文件。
使用JSONArray
和JSONObject
,您可以轻松地将该列表转换为JSON对象,如@Juniad answer
使用Gson
库将非常简单。
从JSON String到Object的ArrayList:
Type listType =
new TypeToken<ArrayList<Student>>(){}.getType();
ArrayList<Student> yourClassList = new Gson().fromJson(jsonArray, listType);
从对象的Array List到Json:
ArrayList<Student> sampleList = new ArrayList<Student>();
String json = new Gson().toJson(sampleList);
Gson库比JSONObject
和JSONArray
实现更简单。
您必须在项目中包含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:Serializing-and-Deserializing-Generic-Types
json-lib可能是您正在寻找的库。你可以找到使用here的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/
像下面一样创建JSONArray。
JSONArray jsArray = new JSONArray(arrayList);
以上是关于如何为列表创建JSONArray的主要内容,如果未能解决你的问题,请参考以下文章
如何为 XSLT 代码片段配置 CruiseControl 的 C# 版本?
如何为列表视图创建自定义适配器?获取 ResourceNotFoundException