组装需要的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 +")");

 

posted @ 2017-06-26 18:05  昨日的世界  Views(2571)  Comments(0Edit  收藏  举报