原文來(lái)自: http://www.dewen.org/q/5791
?
?
我有三個(gè)集合
ArrayList<Student> list = new ArrayList<Student>();
ArrayList<Classes> list1 = new ArrayList<Classes>();
ArrayList<Teacher> list2 = new ArrayList<Teacher>();
分別對(duì)應(yīng)三個(gè)實(shí)體,人數(shù)據(jù)庫(kù)里取出了數(shù)據(jù),現(xiàn)在要把這三個(gè)集合組成一個(gè)json
{student:{id:1,name:11},classes:{id:2,name:2},teacher:{id:3,name:3}}
請(qǐng)問有什么辦法可以做到這樣子的json格式。
-
0 支持你是根據(jù)三個(gè)表的實(shí)體分別取出數(shù)據(jù),然后再組成json嗎? – 徐艷 2012-09-20
-
0 支持@王杰 你應(yīng)該當(dāng)導(dǎo)演。。 比做程序員有前途多了。 – 馮義軍 2012-09-20
-
0 支持公司的電腦上沒有這些東西.晚上回家再把我以前寫的文章貼上,第一次來(lái)德問,這種不是答案的內(nèi)容回復(fù)在評(píng)論里沒錯(cuò)吧..PS.大致提一下.JSON有專門轉(zhuǎn)換格式的jar包.調(diào)用一個(gè)方法就可以完成.以前做的小東西,前端是extjs。這東西有集成好的AJAX,利用代理proxy的方式傳輸JSON格式的字符串.并將其轉(zhuǎn)換成對(duì)象供你使用. – ZorroWL 2012-09-21
有2中方法,一種是用現(xiàn)有的json工具類直接轉(zhuǎn)換,二就是自己組裝成json。
第一種推薦用fastjson等,那fastjson來(lái)說(shuō),
List<Object> list = new ArrayList<Object>;//定義一個(gè)list列表
list.add(new Arraylist<Student>);//添加學(xué)生列表
list.add(new Arraylist<Classes>);//添加課程列表
list.add(new Arraylist<Teacher>);//添加老師列表
上面就是組裝成了對(duì)象形式,最后調(diào)用fastjson的JSON.toJsonString(list);
這樣得到的就是json格式的字符串,里面具體實(shí)現(xiàn)不用你考慮。
第二種自己來(lái)組裝json。
組裝json使用格式的,類似鍵值對(duì)是map型,而[]這樣的就是list型
先定義最外面的json
JsonObject json = new JsonObject();
JSONArray students = new JSONArray();//學(xué)生類json數(shù)組
JsonObject student= new JsonObject();//一個(gè)學(xué)生類json
students.put(student);//將學(xué)生類添加進(jìn)學(xué)生類json數(shù)組
....同理得到課程json數(shù)組和老師json數(shù)組
最后,添加到大的json里面
json.put(students );
json.put(classes);
json.put(teachers );
json就是最終的結(jié)果了
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
