我有三个集合
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格式。



该问题被发起关闭投票

投票剩余时间:参与关闭投票(/3)



该问题被发起重新开启投票

投票剩余时间:参与重新开启投票 (/3)



之前被关闭原因:



该问题被发起删除投票

投票剩余时间:参与删除投票(/3)



发起了声誉值为 分的悬赏



距离悬赏到期还有:

<!--问题已经关闭_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


票 数



  • 票 数
  • 最 新
  • 活 跃


 

您的投票让 语嫣 声誉值增加了10分。

支持投票,不仅能让回答用户获得声誉值,让好答案排序靠前,更能帮助社区筛选出好的内容,构建高质量的知识库。



  • 语嫣2 票
  • 35
  •  


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


 

您的投票让 远航 声誉值增加了10分。

支持投票,不仅能让回答用户获得声誉值,让好答案排序靠前,更能帮助社区筛选出好的内容,构建高质量的知识库。



  • 远航1 票
  • 411
  •  


有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就是最终的结果了