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. call、apply、bind的区别

    me.setname.call(me,"dpd","dpd12");      通过call执行say方法 ,第一个参数为作用对象,后边的一些列参数作为实参传入 ...

  2. 【原创】kafka controller源代码分析(二)

    四.TopicDeletionManager.scala 管理topic删除的状态机,具体逻辑如下: TopicCommand发送topic删除命令,在zk的/admin/delete_topics目 ...

  3. Newtonsoft.Json 的序列化与反序列化

    首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列化.创建一 ...

  4. [Asp.net 5] DependencyInjection项目代码分析2-Autofac

    Microsoft.Framework.DependencyInjection.Autofac源码分析 该工程只有一个代码静态类AutofacRegistration,但是该类有3个扩展方法,以及3个 ...

  5. 【C#进阶系列】15 枚举类型和位标志

    实际上本章就只讲枚举类型,因为位标志本来就可以当做一个特殊的枚举类型. 关于枚举类型 枚举类型是一种消灭魔法数字的好方法,使程序更容易编写,阅读和维护. 枚举类型是值类型,然而有别于其它值类型,枚举类 ...

  6. 2015暑假多校联合---CRB and His Birthday(01背包)

    题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=5410 Problem Description Today is CRB's birthda ...

  7. 设计模式之 面向对象的养猪厂的故事,C#演示(二)

    (三) 优先使用聚合,而不是继承 有一段时间,养猪场的老板雇用了清洁工人来打扫猪舍.但有一天,老板忽然对自己说"不对啊,既然我有机器人,为什么还要雇人来做这件事情?应该让机器人来打扫宿舍!& ...

  8. LazyCode 自己开源的一个类库

    LazyCode 是什么? LazyCode 一个懒人用的代码类库,包括的模块:网络请求,数据存储,UIKit ,Foundation的一些类目 PHNetWorkClient 功能 1:发送GET ...

  9. Atom 备份神器 —— Sync Settings

    当 Atom 的扩展越装越多,配置也越来越偏离了系统默认设置时,一旦电脑重装后需要复原开发环境,这将是一件比较头疼的事,但今天发现一个扩展,可以解决这一问题,那就是「Sync Settings」,根据 ...

  10. 小清新的jQuery ck-slide 图片轮播

    ck_slide 是一款小清新的jQuery 幻灯片插件,它非常小巧,压缩后仅 3KB,基本功能可以满足.它支持淡入淡出/左右滚动.箭头/圆点控制.自动播放. 在线实例 默认(淡入淡出) 左右滚动 自 ...