• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Spring mvc实现Restful返回json格式数据实例详解

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

    使用技术及环境:

    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 JSON数据交换格式原理解析
    • Java SpringMVC框架开发之数据导出Excel文件格式实例详解
    • springMVC返回复杂的json格式数据方法
    • Spring MVC通过添加自定义注解格式化数据的方法
    • Spring mvc实现Restful返回xml格式数据实例详解
    • SpringMVC中Json数据格式转换
    • 解决SpringMVC 返回Java8 时间JSON数据的格式化问题处理
    • SpringMVC环境下实现的Ajax异步请求JSON格式数据
    • Springmvc数据格式化原理及代码案例
    上一篇:Spring mvc实现Restful返回xml格式数据实例详解
    下一篇:Hibernate使用中防止SQL注入的几种方案
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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