nutz的json视图

2.3. json视图
返回json视图有两种方法:
@Ok("json")  与@Ok(“raw:json”)
2.3.1. @Ok("json")
(1) 如果入口函数返回的是字符串,则在这客户端得到的是json形式的字符串。客户端必须解析成json对象;
  例:
@Ok("json")
     public Map userlist( @Param("no")String no,
              @Param("name")String name,@Param("enable")boolean enable,
              @Param("page")Integer page,@Param("rows")Integer rowsCount,
             HttpServletRequest request,HttpServletResponse resp)
     {
     ……
     }


(2) 如果入口函数返回类型是map,list,  java bean等,则直接返回的是json对象。
客户端直接使用,无须再用eval之类的进行解析。可直接用于jqGrid等js组件。
例:
     @At("/power/admin/userlist_do")
     @Ok("json")
     public Map userlist( @Param("no")String no,
              @Param("name")String name,@Param("enable")boolean enable,
              @Param("page")Integer page,@Param("rows")Integer rowsCount,
             HttpServletRequest request,HttpServletResponse resp)
     {
//  要返回的json对象
//        {
//            "page":2,
//            "total":2,
//            "records":2,
//            "rows":[
//                {"no":"1","name":"aa" },
//                {"name":"bb" ,"no":"2"}
//            ]
//        }
        Map<Object, Object> map = new HashMap<Object, Object>();
        map.put("page", 2);
        map.put("total", 2);
        map.put("records", 2);
        List<Object> rows = new ArrayList();
        Map<Object, Object> map1 = new HashMap<Object, Object>();
        map1.put("no", "1");
        map1.put("name", "aa");
        rows.add(map1);
        map1 = new HashMap<Object, Object>();
        map1.put("no", "2");
        map1.put("name", "bb");
        rows.add(map1);
        map.put("rows", rows);
        return map;     
}



2.3.2. @Ok(“raw:json”)
  入口函数返回的是字符串,但在客户端得到的是json对象。客户端直接使用,无须再用eval之类的进行解析。可直接用于jqGrid等js组件。
例:
     @At("/power/admin/userlist_do")
     @Ok("raw:json")
     public String userlist( @Param("no")String no,
              @Param("name")String name,@Param("enable")boolean enable,
              @Param("page")Integer page,@Param("rows")Integer rowsCount,
             HttpServletRequest request,HttpServletResponse resp)
     {
//  要返回的json对象
//        {
//            "page":2,
//            "total":2,
//            "records":2,
//            "rows":[
//                {"no":"1","name":"aa" },
//                {"name":"bb" ,"no":"2"}
//            ]
//        }


        String json =  "{ "+
                "\"page\":2,"+
                "\"total\":2,"+
                "\"records\":2,"+
                "\"rows\":["+
                    "{\"no\":\"1\",\"name\":\"aa\" },"+
                    "{\"name\":\"bb\" ,\"no\":\"2\"}"+
                "]"+
           "}";
        return json;
}

你可能感兴趣的:(bean,json)