原文來自: 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格式。
-
0 支持你是根據三個表的實體分別取出數據,然后再組成json嗎? – 徐艷 2012-09-20
-
0 支持@王杰 你應該當導演。。 比做程序員有前途多了。 – 馮義軍 2012-09-20
-
0 支持公司的電腦上沒有這些東西.晚上回家再把我以前寫的文章貼上,第一次來德問,這種不是答案的內容回復在評論里沒錯吧..PS.大致提一下.JSON有專門轉換格式的jar包.調用一個方法就可以完成.以前做的小東西,前端是extjs。這東西有集成好的AJAX,利用代理proxy的方式傳輸JSON格式的字符串.并將其轉換成對象供你使用. – ZorroWL 2012-09-21
有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就是最終的結果了
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

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