2 回答

TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超6個(gè)贊
把list轉(zhuǎn)換成json對(duì)象只需要簡(jiǎn)單的手動(dòng)放置鍵值對(duì)到JSONObject,然后在put到JSONArray對(duì)象里就可以了。
舉例如下:
List<Article> al = articleMng.find(f);
System.out.println(al.size());
HttpServletResponse hsr = ServletActionContext.getResponse();
if(null == al){
return ;
}
for(Article a : al){
System.out.println(a.getId()+a.getDescription()+a.getTitle());
}
JSONArray json = new JSONArray();
for(Article a : al){
JSONObject jo = new JSONObject();
jo.put("id", a.getId());
jo.put("title", a.getTitle());
jo.put("desc", a.getDescription());
json.put(jo);
}
try {
System.out.println(json.toString());
hsr.setCharacterEncoding("UTF-8");
hsr.getWriter().write(json.toString());
} catch (IOException e) {
e.printStackTrace();
}
上述代碼JSONArray是引入的org.json.JSONArray包
而用net.sf.json包下JSONArray的靜態(tài)方法:fromObject(list) 這是網(wǎng)上大多是都是直接用此方法快捷轉(zhuǎn)換JSON,但是對(duì)于Hibernate級(jí)聯(lián)操作關(guān)聯(lián)的對(duì)象,這個(gè)方法就會(huì)報(bào)錯(cuò),如果將映射文件中的級(jí)聯(lián)配置去掉就行了。
添加回答
舉報(bào)