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格式。

该问题被发起关闭投票

投票剩余时间:参与关闭投票(/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分。

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

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分。

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值