在實際項目中有時候會遇到一些有特殊要求的控件,比如easyui-combogrid,加載的並不是常見的json格式,這里我遇到過需要加載類似省市縣這種三級數據格式。最后也是從別人的博客中學到的如何組裝。
如areaJson=[
{"p":"江西省",
“c":[{"ct":"南昌市"}]
},
{"p":"湖北省”,
"c":[{"ct":"武漢市"}]
]
自己項目中最后生成的並不是這種格式 。好在組裝也非常簡單。
List<class> rows = dao.find(sql.toString());
//create new Json
JSONArray jsonArr = new JSONArray ();
for(int i=0;i<rows.size();i++){
JSONObject jsonObject = new JSONObject ();
JSONObject chidren = new JSONObject ();
JSONArray jsonArr_child = new JSONArray ();
children.put("ct",rows.get(i).getFieldone());
jsonArr_child .add(children);
jsonObject .put("c",jsonArr_child );
jsonObject .put("p",rows.get(i).getFieldtwo());
jsonArr .add(jsonObject);
}
格式已經組裝完畢,但是前端頁面拿到數據可能還需要轉換一下,可以在后台使用jsonArr .toString();再返回給前端。
也可以在前端使用data = eval("("+jsonArr +")");
