java对象集合转json格式

原文来自:http://www.dewen.org/q/5791

 

 

我有三个集合
ArrayList<Student> list = new ArrayList<Student>();
ArrayList<Classes> list1 = new ArrayList<Classes>();
ArrayList<Teacher> list2 = new ArrayList<Teacher>();
分别对应三个实体,人数据库里取出了数据,现在要把这三个集合组成一个json
{student:{id:1,name:11},classes:{id:2,name:2},teacher:{id:3,name:3}}
请问有什么办法可以做到这样子的json格式。

<!--问题已经关闭_begin--> <!--问题已被锁定_begin--> <!--问题已被保护_begin--> <!--问题已经成功删除_begin-->
评论 ( 3)• 链接2012-09-20 
  • 0 支持
    你是根据三个表的实体分别取出数据,然后再组成json吗?徐艳 2012-09-20
  • 0 支持
    @王杰 你应该当导演。。 比做程序员有前途多了。冯义军 2012-09-20
  • 0 支持
    公司的电脑上没有这些东西.晚上回家再把我以前写的文章贴上,第一次来德问,这种不是答案的内容回复在评论里没错吧..PS.大致提一下.JSON有专门转换格式的jar包.调用一个方法就可以完成.以前做的小东西,前端是extjs。这东西有集成好的AJAX,利用代理proxy的方式传输JSON格式的字符串.并将其转换成对象供你使用.ZorroWL 2012-09-21

List list = new ArrayList();
JSONObject obj = new JSONObject();
obj.put("text", "Absolute");
obj.put("id", "absolute");
list.add(obj);
JSONArray jsonList = JSONArray.fromObject(list);
格式差不多就这样的,你可以借鉴一下。

该答案已被锁定,无法对其进行评论,编辑及投票。
()
评论 ( 0)• 链接• 2012-09-20

有2中方法,一种是用现有的json工具类直接转换,二就是自己组装成json。

第一种推荐用fastjson等,那fastjson来说,
List<Object> list = new ArrayList<Object>;//定义一个list列表
list.add(new Arraylist<Student>);//添加学生列表
list.add(new Arraylist<Classes>);//添加课程列表
list.add(new Arraylist<Teacher>);//添加老师列表
上面就是组装成了对象形式,最后调用fastjson的JSON.toJsonString(list);
这样得到的就是json格式的字符串,里面具体实现不用你考虑。

第二种自己来组装json。
组装json使用格式的,类似键值对是map型,而[]这样的就是list型
先定义最外面的json
JsonObject json = new JsonObject();
JSONArray students = new JSONArray();//学生类json数组
JsonObject student= new JsonObject();//一个学生类json
students.put(student);//将学生类添加进学生类json数组
....同理得到课程json数组和老师json数组

最后,添加到大的json里面
json.put(students );
json.put(classes);
json.put(teachers );

json就是最终的结果了

猜你喜欢

转载自zhglhy.iteye.com/blog/1766381