Java自学之路-Java中级教程-14:SpringMVC构建Json数据接口和@ResponseBody

    在互联网项目中经常需要从服务器后端拿数据,然后展示给前端,比如手机端的安卓应用、IOS应用、微信小程序、H5页面等。前端从后端拿到的数据以特定的格式传送,最常用的是XML和JSON,其中又因JSON数据格式数据量小,解析速度快等优势,很多应用都使用JSON作为数据传递的格式。

    JSON数据的格式很简单,比如data {id: 1, name: "json"},这样就是一个JSON数据,也是字符串组成的。

    使用springMvc可以很容易地返回JSON数据。下面以一个简单的例子来作演示。

    

	@RequestMapping(value = "/toJson", method = RequestMethod.GET)
	@ResponseBody
	public Object toJson(HttpServletRequest request, HttpServletResponse response) {
		try {
			List<Person> personList = personService.helpToDo();
			request.setAttribute("personList", personList);
			return personList;
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

    这里在PersonController.java中加了一个@ResponseBody的注解,与之前的方法没什么不同。部署到Tomcat服务器,启动访问http://localhost/calculateWeb/toJson返回错误No converter found for return value of type: class java.util.ArrayList。这是因为JSON数据格式需要另外的jar包充当解析器,而spring和springMvc的类库中没有包含这种JSON解析器。这里我们加入jackson解析器,共三个jar包:jackson-annotations-2.8.0.jar、jackson-core-2.8.7.jar、jackson-databind-2.8.7.jar。下载地址http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-annotations/2.8.7/jackson-annotations-2.8.7.jar, http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-databind/2.8.7/jackson-databind-2.8.7.jar, http://central.maven.org/maven2/com/fasterxml/jackson/core/jackson-core/2.8.7/jackson-core-2.8.7.jar。这里给出的下载地址是http://central.maven.org/maven2网站提供的,有需要其他的jar包也可以到这里找到。

    把这三个jar包放入WEB-INF/lib文件夹中,重启Tomcat应用服务器,再访问http://localhost/calculateWeb/toJson就会返回一串JSON格式的数据:

{"id":1,"nation":"USA","hand":null,"head":null,"foot":null},{"id":1,"nation":"USA","hand":null,"head":null,"foot":null},{"id":1,"nation":"USA","hand":null,"head":null,"foot":null},
    这样springMvc已经可以支持把Java对象解析成JSON数据了,在实际项目中开安小程序或安卓应用、IOS应用一般都知道怎么把这种JSON数据转为开发者想要的对象并展示这些数据,最终展示的结果就如在手机中看到的数据了。
 
  
 

Java视频教程


猜你喜欢

转载自blog.csdn.net/weixin_41239710/article/details/80469133
今日推荐