原文來自: http://www.dewen.org/q/5791
?
?
我有三個集合
ArrayList<Student> list = new ArrayList<Student>();
ArrayList<Classes> list1 = new ArrayList<Classes>();
ArrayList<Teacher> list2 = new ArrayList<Teacher>();
分別對應(yīng)三個實體,人數(shù)據(jù)庫里取出了數(shù)據(jù),現(xiàn)在要把這三個集合組成一個json
{student:{id:1,name:11},classes:{id:2,name:2},teacher:{id:3,name:3}}
請問有什么辦法可以做到這樣子的json格式。
-
0 支持你是根據(jù)三個表的實體分別取出數(shù)據(jù),然后再組成json嗎? – 徐艷 2012-09-20
-
0 支持@王杰 你應(yīng)該當(dāng)導(dǎo)演。。 比做程序員有前途多了。 – 馮義軍 2012-09-20
-
0 支持公司的電腦上沒有這些東西.晚上回家再把我以前寫的文章貼上,第一次來德問,這種不是答案的內(nèi)容回復(fù)在評論里沒錯吧..PS.大致提一下.JSON有專門轉(zhuǎn)換格式的jar包.調(diào)用一個方法就可以完成.以前做的小東西,前端是extjs。這東西有集成好的AJAX,利用代理proxy的方式傳輸JSON格式的字符串.并將其轉(zhuǎn)換成對象供你使用. – ZorroWL 2012-09-21
有2中方法,一種是用現(xiàn)有的json工具類直接轉(zhuǎn)換,二就是自己組裝成json。
第一種推薦用fastjson等,那fastjson來說,
List<Object> list = new ArrayList<Object>;//定義一個list列表
list.add(new Arraylist<Student>);//添加學(xué)生列表
list.add(new Arraylist<Classes>);//添加課程列表
list.add(new Arraylist<Teacher>);//添加老師列表
上面就是組裝成了對象形式,最后調(diào)用fastjson的JSON.toJsonString(list);
這樣得到的就是json格式的字符串,里面具體實現(xiàn)不用你考慮。
第二種自己來組裝json。
組裝json使用格式的,類似鍵值對是map型,而[]這樣的就是list型
先定義最外面的json
JsonObject json = new JsonObject();
JSONArray students = new JSONArray();//學(xué)生類json數(shù)組
JsonObject student= new JsonObject();//一個學(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號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

