全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Spring mvc实现Restful返回json格式数据实例详解

在本示例中,我们将向您展示如何将对象转换成json格式并通过spring mvc框架返回给用户。

使用技术及环境:

  • Spring 3.2.2.RELEASE
  • Jackson 1.9.10
  • JDK 1.6
  • Eclipse 3.6
  • Maven 3

PS:在spring 3 中,要输出json数据,只需要添加Jackson 库到你的classpath。

1、项目依赖

spring和jackson的依赖:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
    http://maven.apache.org/maven-v4_0_0.xsd">
 <modelVersion>4.0.0</modelVersion>
 <groupId>com.mkyong.common</groupId>
 <artifactId>SpringMVC</artifactId>
 <packaging>war</packaging>
 <version>1.0-SNAPSHOT</version>
 <name>SpringMVC Json Webapp</name>
 <url>http://maven.apache.org</url>
 <properties>
 <spring.version>3.2.2.RELEASE</spring.version>
 <jackson.version>1.9.10</jackson.version>
 <jdk.version>1.6</jdk.version>
 </properties>
 <dependencies>
 <!-- Spring 3 dependencies -->
 <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-core</artifactId>
  <version>${spring.version}</version>
 </dependency>
 <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-web</artifactId>
  <version>${spring.version}</version>
 </dependency>
 <dependency>
  <groupId>org.springframework</groupId>
  <artifactId>spring-webmvc</artifactId>
  <version>${spring.version}</version>
 </dependency>
 <!-- Jackson JSON Mapper -->
 <dependency>
  <groupId>org.codehaus.jackson</groupId>
  <artifactId>jackson-mapper-asl</artifactId>
  <version>${jackson.version}</version>
 </dependency>
 </dependencies>
 <build>
 <finalName>SpringMVC</finalName>
 <plugins>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-eclipse-plugin</artifactId>
  <version>2.9</version>
  <configuration>
  <downloadSources>true</downloadSources>
  <downloadJavadocs>false</downloadJavadocs>
  <wtpversion>2.0</wtpversion>
  </configuration>
  </plugin>
  <plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>2.3.2</version>
  <configuration>
  <source>${jdk.version}</source>
  <target>${jdk.version}</target>
  </configuration>
  </plugin>
 </plugins>
 </build>
</project>

2、Model

一个简单的JavaBean,稍后将被转换成json格式输出。

public class Shop {
 String name;
 String staffName[];
 //getter and setter methods
}

3、Controller

添加@ResponseBody到返回值,我们看到:

Jackson 包已经在项目的 classpath

mvc:annotation-driven注解已经启用

返回方法已经添加了@ResponseBody

spring会自动处理json的转换。

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import com.mkyong.common.model.Shop;
[@Controller](https://my.oschina.net/u/1774615)
@RequestMapping("/kfc/brands")
public class JSONController {
 @RequestMapping(value="{name}", method = RequestMethod.GET)
 public @ResponseBody Shop getShopInJSON(@PathVariable String name) {
 Shop shop = new Shop();
 shop.setName(name);
 shop.setStaffName(new String[]{"mkyong1", "mkyong2"});
 return shop;
 }
}

4、mvc:annotation-driven

在你的spring配置文件中启用mvc:annotation-driven注解。

<beans xmlns="http://www.springframework.org/schema/beans"
 xmlns:context="http://www.springframework.org/schema/context"
 xmlns:mvc="http://www.springframework.org/schema/mvc" 
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="
    http://www.springframework.org/schema/beans   
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context 
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://www.springframework.org/schema/mvc
    http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
 <context:component-scan base-package="com.mkyong.common.controller" />
 <mvc:annotation-driven />
</beans>

5、示例结果

访问URL:http://localhost:8080/SpringMVC/rest/kfc/brands/kfc-kampar

spring-mvc-json-demo

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# spring  # mvc实现Restful返回json格式数据  # Restful返回json数据  # Spring mvc JSON数据交换格式原理解析  # Java SpringMVC框架开发之数据导出Excel文件格式实例详解  # springMVC返回复杂的json格式数据方法  # Spring MVC通过添加自定义注解格式化数据的方法  # Spring mvc实现Restful返回xml格式数据实例详解  # SpringMVC中Json数据格式转换  # 解决SpringMVC 返回Java8 时间JSON数据的格式化问题处理  # SpringMVC环境下实现的Ajax异步请求JSON格式数据  # Springmvc数据格式化原理及代码案例  # 转换成  # 希望能  # 将被  # 只需要  # 谢谢大家  # 向您  # 配置文件  # 如何将  # 稍后  # 返回值  # XMLSchema  # schemaLocation  # xsd  # instance  # gt  # org  # POM  # maven  # apache  # www 


相关文章: 再谈Python中的字符串与字符编码(推荐)  如何在Windows服务器上快速搭建网站?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?  公司网站设计制作厂家,怎么创建自己的一个网站?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  网站制作知乎推荐,想做自己的网站用什么工具比较好?  建站之星如何助力网站排名飙升?揭秘高效技巧  SQL查询语句优化的实用方法总结  建站之星在线客服如何快速接入解答?  公司网站制作价格怎么算,公司办个官网需要多少钱?  IOS倒计时设置UIButton标题title的抖动问题  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  深圳网站制作费用多少钱,读秀,深圳文献港这样的网站很多只提供网上试读,但有些人只要提供试读的文章就能全篇下载,这个是怎么弄的?  如何通过建站之星自助学习解决操作问题?  零基础网站服务器架设实战:轻量应用与域名解析配置指南  ,柠檬视频怎样兑换vip?  如何通过服务器快速搭建网站?完整步骤解析  ,在苏州找工作,上哪个网站比较好?  如何用wdcp快速搭建高效网站?  网站制作中优化长尾关键字挖掘的技巧,建一个视频网站需要多少钱?  XML的“混合内容”是什么 怎么用DTD或XSD定义  如何通过WDCP绑定主域名及创建子域名站点?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  如何通过云梦建站系统实现SEO快速优化?  如何高效配置IIS服务器搭建网站?  开源网站制作软件,开源网站什么意思?  如何高效利用亚马逊云主机搭建企业网站?  ,制作一个手机app网站要多少钱?  网页设计与网站制作内容,怎样注册网站?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  建站ABC备案流程中有哪些关键注意事项?  代刷网站制作软件,别人代刷火车票靠谱吗?  如何选择可靠的免备案建站服务器?  建站之星多图banner生成与模板自定义指南  兔展官网 在线制作,怎样制作微信请帖?  在线流程图制作网站手机版,谁能推荐几个好的CG原画资源网站么?  建站主机如何选?高性价比方案全解析  公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?  如何高效配置香港服务器实现快速建站?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  中山网站推广排名,中山信息港登录入口?  如何选择适配移动端的WAP自助建站平台?  如何在万网ECS上快速搭建专属网站?  美食网站链接制作教程视频,哪个教做美食的网站比较专业点?  北京网站制作的公司有哪些,北京白云观官方网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。