您的位置:首页 > 编程语言 > Java开发

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

2014-11-25 11:21 726 查看

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 ;)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: