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. Python 常用string函数

    Python 常用string函数 字符串中字符大小写的变换 1. str.lower()   //小写>>> 'SkatE'.lower()'skate' 2. str.upper ...

  2. Castle ActiveRecord框架学习(一)

    一.Active Record(活动记录)模式 Active Record是业务逻辑层中(<企业应用架构模式>将该模式归为数据源模式)常用的一种框架模式,尤其在底层数据库模型匹配业务模型时 ...

  3. 走进异步世界:EnyimMemcached异步化改造引起的内存泄漏

    6月30日我们发布了异步化改造后的博客程序之后,出现了高内存.高CPU.高线程数的不理想情况. 经过一周的追查,终于水落日出——引起不理想情况的根源是我们修改过的EnyimMemcached代码存在内 ...

  4. Java工程图标前面的红色叹号

    有时Java工程图标前面会出现一个红色的叹号,这是因为工程引入的jar包不存在(或者被删除.移动)造成的. 右键点击工程,选择Build Path->Configure Build Path,弹 ...

  5. 第 27 章 CSS 传统布局[上]

    学习要点: 1.布局模型 2.表格布局 3.浮动布局 主讲教师:李炎恢 本章主要探讨 HTML5 中 CSS 早期所使用的传统布局,很多情况下,这些布局方式还是非常有用的. 一.布局模型 在早期没有平 ...

  6. ThinkCMF-smeta扩展字段

    ThinkCMF - 添加文章功能 没有上传文件功能,为了扩展这一功能,在页面加入如下代码: <tr> <td> <div style="text-align: ...

  7. 腾讯信鸽推送Android SDK快速指南

    信鸽Android SDK是一个能够提供Push服务的开发平台,提供给开发者简便.易用的API接口,方便快速接入.目前支持Android 2.2及以上版本系统.本文档将引导用户以最快的速度嵌入信鸽SD ...

  8. TreeSet集合深入了解--------攻击原理

    Set接口Set不允许包含相同的元素,如果试图把两个相同元素加入同一个集合中,add方法返回false.(无序,不可重复 )Set判断两个对象相同不是使用==运算符,而是根据equals方法.也就是说 ...

  9. Java资源大全

    古董级工具 这些工具伴随着Java一起出现,在各自辉煌之后还在一直使用. Apache Ant:基于XML的构建管理工具. cglib:字节码生成库. GlassFish:应用服务器,由Oracle赞 ...

  10. 学习angular.js的一些笔记想法(上)

    1.data-ng-app与ng-app的区别 data-ng-app是为了h5不报错 2.ng-class 不多说就来拿例子说吧 html代码 <div class='color-change ...