列表& lt文章& gtal = article mng . find(f);
system . out . println(al . size());
http servlet response HSR = servletactioncontext . getresponse();
if(null = = al ){
返回;
}
對於(第壹條第壹款){
system . out . println(a . getid()+a . get description()+a . gettitle());
}
JSON array JSON = new JSON array();
對於(第壹條第壹款){
JSON object jo = new JSON object();
jo . put(“id“,a . getid());
jo . put(“title“,a . gettitle());
jo . put(“desc“,a . get description());
JSON . put(jo);
}
嘗試{
system . out . println(JSON . tostring());
HSR . set character encoding(“UTF 8“);
hsr.getWriter()。write(JSON . tostring();
} catch(io exception e ){
e . printstacktrace();
}
上面的代碼JSONArray就是導入的org.json.JSONArray包。
net.sf.json包下jsonArray的靜態方法:from object(list)多用於在互聯網上直接快速轉換JSON,但對於與Hibernate級聯操作相關的對象,該方法會給出錯誤。只需刪除映射文件中的級聯配置。
此外,對list的要求是其中的元素是字符串或對象,否則JSON不知道您想要什麽數據。
& lt多對壹name =“cmsent“column =“comment _ tid“class =“com . fcms . CMS . entity . CMS comment“
not-null =“false“cascade =“delete“& gt。
但是,級聯操作仍然必須存在,否則將來數據將是冗余和冗余的。
解決方案是:JSON數組子MSGS = JSON數組。from Object(Object,config);
JsonConfig config = new JsonConfig();
config . setjsonpropertyfilter(new property filter(){
公共布爾應用(對象arg0,字符串arg1,對象arg 2 ){
if(arg 1 . equals(“article“)| | arg 1 . equals(“fans“){
返回true
}否則{
返回false
}
}
});
描述:它提供了壹個過濾功能。如果遇到關聯對象,它會自動將其過濾掉,並且不會執行關聯對象。這裏我貼出hibernate中配置關系映射的代碼來幫助理解:
& lt!-配置主題和組之間的關系-& gt;
& lt多對壹name =“article“class =“com . fcms . nubb . article“column =“article _ id“/& gt;
& lt!-配置主題帖子和回復帖子之間的關系-& gt;
& ltset name =“subMessages“table =“sub _ message“inverse =“true“cascade =“all“lazy =“false“order-by =“date ASC“& gt。
& ltkey column =“theme _ id“/& gt。
& lt壹對多class =“BBS . po . submessage“/& gt。
& lt/set & gt;