首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎样利用java生成json复杂对象?该怎么处理

2012-02-20 
怎样利用java生成json复杂对象?我需要在后台生成json对象,用ajax把json对象返回页面,赋值给var file,具体

怎样利用java生成json复杂对象?
我需要在后台生成json对象,用ajax把json对象返回页面,赋值给var file,具体结果如下所示。
这个复杂的结构怎样才可以生成?
var file= [{
'id':1238662,
'name':'name1',
'stats':{
'fileCount':33,
'fileSize':46134095}},
{
'id':1238663,
'name':'name2',
'stats':{
'fileCount':3,
'fileSize':9449462}},
{
'id':1238668,
'name':'name3',
'stats':{
'fileCount':5,
'fileSize':30421111}}];

[解决办法]
//
// public static void main(String[] args){
// List list = new ArrayList();
// Map m1 = new HashMap();
// m1.put("text", 1);
// m1.put("state", 1);
// list.add(m1);
// Map m2 = new HashMap();
// m2.put("text", 2);
// m2.put("state", 2);
// list.add(m2);
// Map dataMap = new LinkedHashMap();
// dataMap.put("result", list);
// System.out.println(JsonUtil.encode(dataMap));
//
// }


 随便写了下 参考下 希望对你有帮助
[解决办法]
依上题 可以判断你的后台应当差性能出一个列表,下面我给你个例子,ssh1 的

假设方法名:getlist (呵呵)

Java code
public ActionForward getList(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response){        PrintWriter out = null;        String realname=null;        Integer pageno = Common.PAGE_PAGENO;        Integer pagesize = Common.PAGE_SIZE;        JSONObject json = new JSONObject();                List<Users> list = new ArrayList<Users>(); // 不知道你的list 取的是什么,暂且为用户list 吧        List<Map<String,Object>> list_user = new ArrayList<Map<String,Object>>();        PageModel user_page = new PageModel();        list = .......;//这里调用你的方法得到list                if(!list.isEmpty()){ // 对list进行简单的判断            for(Users _user:list){                Map _map = new HashMaps();//这里可能会提示让你加泛型,不用鸟                Map<String,Object> tmp_map = new HashMap<String,Object>();//这个是放那json结构里面的那个小结构的'stats'                _map.put("id", _user.getId());                _map.put("name", _user.getName());                tmp_map.put("fileCount",_user.getFiles().getFileCount())                tmp_map.put("fileSize", _user.getFiles.getFilesize());                _map.put("stats",tmp_map);                list_user.add(_map);            }        }        try{            json.put("users_", list_user);            json.put("totalPages", user_page.getTotalPages());            json.put("_size", user_page.getPageSize());            json.put("_pno", user_page.getPageNo());            json.put("_trs", user_page.getTotalRecords());        }catch(Exception e){            this.log.error("User JSON Error:"+e.getMessage());        }        out.write(json.toString());        out.flush();        out.close();        return null;    } 

热点排行