组装需要的json数据格式
在实际项目中有时候会遇到一些有特殊要求的控件,比如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 +")");