• Spring MVC 学习笔记11 —— 后端返回json格式数据


    Spring MVC 学习笔记11 —— 后端返回json格式数据

     我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点:

       1. JSON的全称是”JavaScript Object Notation”,意思是JavaScript对象表示法.
       2. 它是一种基于文本,独立于语言的轻量级数据交换格式.
       3. json的两种结构:对象{key:value,key:value,...}  和  数组 [value, value2, ... ]
       4. json字符串:普通字符串、json字符串、json对象的区别
       5. 不同编程工具使用json的方法

     参考:http://www.cnblogs.com/mcgrady/archive/2013/06/08/3127781.html


    Spring MVC 返回json数据,用show来实现:

    UserController.java:

    保持两套请求,一套是传统的请求返回数据;一套是请求json格式返回数据。

    	//6. 查一个用户 show.jsp
    	@RequestMapping(value="/{username}", method=RequestMethod.GET)
    	public String show(@PathVariable String username, Model model){
    		model.addAttribute("user1",users.get(username));	//user1参数属性名,到了视图,就是user1
    		return "user/show";
    	}
    	
    	//6. 查一个用户 show.jsp
    	@RequestMapping(value="/{username}", method=RequestMethod.GET, params="jsoon")
    	@ResponseBody	//这里要加一行
    	public User show(@PathVariable String username){      //声明中没有了Model
    		//model.addAttribute("user1",users.get(username));
    		return users.get(username);            //不返回String了,返回user对象
    	}

    说明,以上代码中:

      1. 增加@ResponseBody, 
      2. no return String, but User Object
      3. no Model
      4. directly return users.get(username)//注意返回的是一个User对象
      5. 可以在RequestMapping行增加一个请求值:Params="jsoon"//这是规定如要进这个方法返回json,需要带个参数jsoon

    此时可测试,返回406错误如图:(通过url加入?jsoon访问了,但没有头文件为它进行解释)


    所以我们需要加入一个jar包:jackson-all-1.x.x.jar

    从这个网址可以下载到:http://jarfiles.pandaidea.com/jackson.all.html

    把jar包复制到项目文件夹/lib文件夹下,重新debug,链接进入:http://localhost:8080/myhello/user/sdy?jsoon

    此时,有的浏览器Chrome,firefox等能显示如下,其他浏览器如360等,会提示下载sdy.json文件,notepad++打开以后也是如下内容。


    Enjoy ;)









  • 相关阅读:
    AngularJS ui-router (嵌套路由)
    解决Can't connect to MySQL server on 'localhost' (10048)
    PHP获取一年有几周以及每周开始日期和结束日期
    MySQL(八)之DML
    MySQL(七)MySQL常用函数
    MySQL(六)之MySQL常用操作符
    MySQL(五)之DDL(数据定义语言)与六大约束
    MySQL(四)之MySQL数据类型
    MySQL(三)之SQL语句分类、基本操作、三大范式
    linux命令详解之netstat
  • 原文地址:https://www.cnblogs.com/sonictl/p/6735584.html
Copyright © 2020-2023  润新知