2.3. json视图 
返回json视图有两种方法: 
@Ok("json")  与@Ok(“raw:json”) 
2.3.1. @Ok("json") 
(1) 如果入口函数返回的是字符串,则在这客户端得到的是json形式的字符串。客户端必须解析成json对象; 
  例:

  1. @Ok("json")
  2. public Map userlist( @Param("no")String no,
  3. @Param("name")String name,@Param("enable")boolean enable,
  4. @Param("page")Integer page,@Param("rows")Integer rowsCount,
  5. HttpServletRequest request,HttpServletResponse resp)
  6. {
  7. ……
  8. }

(2) 如果入口函数返回类型是map,list,  java bean等,则直接返回的是json对象。 
客户端直接使用,无须再用eval之类的进行解析。可直接用于jqGrid等js组件。 
例:

  1. @At("/power/admin/userlist_do")
  2. @Ok("json")
  3. public Map userlist( @Param("no")String no,
  4. @Param("name")String name,@Param("enable")boolean enable,
  5. @Param("page")Integer page,@Param("rows")Integer rowsCount,
  6. HttpServletRequest request,HttpServletResponse resp)
  7. {
  8. //  要返回的json对象
  9. //        {
  10. //            "page":2,
  11. //            "total":2,
  12. //            "records":2,
  13. //            "rows":[
  14. //                {"no":"1","name":"aa" },
  15. //                {"name":"bb" ,"no":"2"}
  16. //            ]
  17. //        }
  18. Map<Object, Object> map = new HashMap<Object, Object>();
  19. map.put("page", 2);
  20. map.put("total", 2);
  21. map.put("records", 2);
  22. List<Object> rows = new ArrayList();
  23. Map<Object, Object> map1 = new HashMap<Object, Object>();
  24. map1.put("no", "1");
  25. map1.put("name", "aa");
  26. rows.add(map1);
  27. map1 = new HashMap<Object, Object>();
  28. map1.put("no", "2");
  29. map1.put("name", "bb");
  30. rows.add(map1);
  31. map.put("rows", rows);
  32. return map;
  33. }

2.3.2. @Ok(“raw:json”) 
  入口函数返回的是字符串,但在客户端得到的是json对象。客户端直接使用,无须再用eval之类的进行解析。可直接用于jqGrid等js组件。 
例:

  1. @At("/power/admin/userlist_do")
  2. @Ok("raw:json")
  3. public String userlist( @Param("no")String no,
  4. @Param("name")String name,@Param("enable")boolean enable,
  5. @Param("page")Integer page,@Param("rows")Integer rowsCount,
  6. HttpServletRequest request,HttpServletResponse resp)
  7. {
  8. //  要返回的json对象
  9. //        {
  10. //            "page":2,
  11. //            "total":2,
  12. //            "records":2,
  13. //            "rows":[
  14. //                {"no":"1","name":"aa" },
  15. //                {"name":"bb" ,"no":"2"}
  16. //            ]
  17. //        }
  18. String json =  "{ "+
  19. "\"page\":2,"+
  20. "\"total\":2,"+
  21. "\"records\":2,"+
  22. "\"rows\":["+
  23. "{\"no\":\"1\",\"name\":\"aa\" },"+
  24. "{\"name\":\"bb\" ,\"no\":\"2\"}"+
  25. "]"+
  26. "}";
  27. return json;
  28. }
 

nutz的json视图的更多相关文章

  1. 自定义spring mvc的json视图

    场景 前端(安卓,Ios,web前端)和后端进行了数据的格式规范的讨论,确定了json的数据格式: { "code":"200", "data&quo ...

  2. springboot(五)使用FastJson返回Json视图

    FastJson简介: fastJson是阿里巴巴旗下的一个开源项目之一,顾名思义它专门用来做快速操作Json的序列化与反序列化的组件.它是目前json解析最快的开源组件没有之一!在这之前jaskJs ...

  3. Json格式示意图

    json视图工具:http://www.bejson.com/jsonviewernew/ 一.Json格式化,(看到数组里面又有数组一下子疑问不是合格json):尾门地址查询: =>=> ...

  4. 关于json序列化和反序列的问题,没事写个案例,希望能帮到那些需要帮忙的朋友!

    现在关于json的读写问题,有许许多多的解决方法,因人而异,根据实际问题去选择自己想要的最容易方法.我觉得自带的Newtonsoft.Json是个不错的选择,随便写两个例子吧! 一:关于简单的json ...

  5. json的解释

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易 ...

  6. JSON 数据格式

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人阅读和编写,同时也易 ...

  7. JSON数据格式

    JSON 数据格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人 ...

  8. JSON 入门

    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族 ...

  9. JSON 数组格式

    JSON 数据格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.JSON采用完全独立于语言的文本格式,这些特性使JSON成为理想的数据交换语言.易于人 ...

随机推荐

  1. java中synchronized关键字的用法

    在java编程中,经常需要用到同步,而用得最多的也许是synchronized关键字了,下面看看这个关键字的用法. 因为synchronized关键字涉及到锁的概念,所以先来了解一些相关的锁知识. j ...

  2. 实现Android包的批量删除

    由于手机内存有限,有时需要一次删除很多个包,这时就需要一个实现Android包批量删除的应用. 首先是布局文件: <?xml version="1.0" encoding=& ...

  3. 项目中初试PHP单元测试

    只能叫初试,前面虽然做了一些PHPUnit与团队所用框架的整合,但在整个团队还没有人可以主动推动这个事情,而作为Leader最重要的一种能力应该是"让正确的事情发生",所以今天开始 ...

  4. 关于OpenCart的一个小建议

    OpenCart是一套老牌的开源自由B2C电商系统,最近watch了其托管在在github上的项目,发现还是很活跃的,每天都有人反馈bug. 初步的看一下,它是支持在后台管理多个店铺的,而且可以同一个 ...

  5. Data Structures/Algorithms 小甲鱼99讲笔记系列(1~~15讲)

    参考资料地址: http://www.icoolxue.com/ 1.数据结构中四种逻辑结构. ① 集合 集合中任何两个数据元素之间都没有逻辑关系,组织形式松散. ② 线性结构 线性结构中的 结点按逻 ...

  6. vsftp "上传 553 Could not create file"

    我在LINUX下VSftp建立一个FTP服务器,但从WINDOWS使用FTP时,无法上传也无法下载!出错如下 ftp>; ls 200 PORT command successful. Cons ...

  7. 【HTML5】浅析HTML5应用程序缓存(ApplicationCache)

    一.为什么需要Web应用程序缓存 在移动互联网时代,设备终端位置不再固定,依赖无线信号,网络的可靠性变得降低,比如坐在火车上,过了一个隧道(15分钟),便无法访问网站,这对于web的伤害是很大的    ...

  8. [html5+java]文件异步读取及上传核心代码

    html5+java 文件异步读取及上传关键代码段 功能: 1.多文件文件拖拽上传,file input 多文件选择 2.html5 File Api 异步FormData,blob上传,图片显示 3 ...

  9. 更改SharePoint 2007/2010/2013 Web 应用程序端口号

    之前创建的Web应用程序端口为80,因为其他需要要将端口更改为85,下面是具体步骤: 第一步:更改IIS绑定. 打开IIS服务管理器,右击需要更改的站点,选择编辑绑定. 在打开的网站绑定窗口,选择端口 ...

  10. 系统补丁对sharepoint很重要

    系统补丁对sharepoint很重要,会提高sharepoint运行效率,加载速度明显变快.