`

springMVC中json转换的方式

阅读更多
SSM框架搭建过程中遇到的问题记录一下:


springMVC框架中使用@ResponseBody注解将返回值格式化为json的方式:

  1,使用springMVC框架提供的 MappingJackson2HttpMessageConverter
  2,使用goole的fastjson框架提供的 FastJsonHttpMessageConverter

spring-mvc.xml配置方式:

  1,MappingJackson2HttpMessageConverter方式:

<bean id="mappingJacksonHttpMessageConverter"class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"> 
        <property name="defaultCharset" value="UTF-8"/> 
        <property name="supportedMediaTypes">  
            <list>  
                <value>application/json;charset=UTF-8</value>
            </list>  
        </property>  
    </bean>   
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
        <property name="messageConverters">  
            <list>  
                <ref bean="mappingJacksonHttpMessageConverter" /> 
            </list>  
        </property>  
    </bean>


  2,FastJsonHttpMessageConverter方式:

    <!-- 返回json格式数据 -->
    <bean id="jsonConverter"
          class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
        <property name="supportedMediaTypes" value="application/json;charset=UTF-8"/>
        <property name="features">
            <array value-type="com.alibaba.fastjson.serializer.SerializerFeature">
                <value>DisableCircularReferenceDetect</value>
            </array>
        </property>
    </bean>
    <!--fastjson循环引用问题-->
    <bean id="DisableCircularReferenceDetect"
          class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean">
        <property name="staticField"
                  value="com.alibaba.fastjson.serializer.SerializerFeature.DisableCircularReferenceDetect"></property>
    </bean> 
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <!--<ref bean="mappingJacksonHttpMessageConverter"/>-->
                <ref bean="jsonConverter"/>          
            </list>
        </property>
    </bean>


总结:

第一种方式
  如果springMVC框架版本为4.1及以上,需要导入jackson2.X的jar包:
jackson-annotations-2.4.4.jar、jackson-core-2.4.4.jar、jackson-databind-2.4.4.jar,如果是4.1之前版本可以使用jackson-core-asl-1.8.5.jar和jackson-mapper-asl-1.8.5.jar,erq对于的HttpMessageConverter为 MappingJacksonHttpMessageConverter。

第二种方式
  要考虑到fastjson循环引用问题,依赖的jar包只需要阿里的fastjson就ok了,而且性能上fastjson据说比jackson要快好多。
分享到:
评论

相关推荐

    SpringMVC中后台转换json格式

    本文将详细介绍如何在SpringMVC中后台转换JSON格式,以解决406错误问题。 406错误通常发生在客户端发送了Accept头,表明它期望接收某种特定类型的数据,但服务器无法提供这种类型的数据。在Ajax请求中,这个Accept...

    springmvc中json转换的jar

    在Spring MVC中配置和使用Jackson库进行JSON转换通常包括以下几个步骤: 1. **添加依赖**:将`jackson-core-asl.jar`和`Jackson-mapper-asl.jar`添加到项目构建路径或Maven/Gradle的依赖管理中。 2. **配置Spring ...

    springmvc加入json支持

    3. **创建Controller**: 创建一个Spring MVC控制器,使用`@RestController`或`@Controller`注解,并在方法上使用`@ResponseBody`来指示返回值应转换为JSON。例如: ```java @RestController public class ...

    springMVC json格式转换demo

    在实际开发中,你可能需要创建多个测试场景,覆盖不同的输入和预期输出,以确保JSON转换功能的稳定性和准确性。 总结一下,"springMVC json格式转换demo"涵盖了以下关键点: 1. 引入`spring-web`依赖以支持JSON处理...

    SpringMVC中json转换所需要的Maven仓库的jar包

    该资源为SpringMVC中json转换所需要的Maven仓库,如果maven下载包的时候速度太慢,可以使用我的这个资源,把这个直接考到本地Maven仓库即可。 对应的Maven依赖如下: &lt;groupId&gt;org.codehaus.jackson &lt;artifactId&gt;...

    springmvc操作json数据所需的jar包

    在描述中提到的文件"springmvc-json"可能包含了Spring MVC与JSON交互所需的一些依赖,如Jackson库的jar文件。Jackson库由多个组件组成,主要包括: 1. **Jackson-core**: 这是Jackson库的基础模块,提供了基本的...

    springmvc转json所需jar

    在Spring MVC中,将对象...综上所述,Spring MVC结合Jackson库能够方便地处理JSON数据,通过合理的配置和注解使用,可以实现灵活且高效的JSON转换。了解并熟练掌握这些知识点,将有助于开发出更加健壮的RESTful服务。

    springmvc-json-lib.rar

    在这个例子中,`@RequestBody`注解将请求体中的JSON转换为User对象,`@ResponseBody`则将控制器返回的User对象转换为JSON响应。 此外,我们还可以自定义JSON序列化和反序列化的规则,例如忽略某些字段、自定义日期...

    springmvc加入json支持.zip

    - 反序列化:在请求参数或请求体中,Jackson可以帮助我们将JSON字符串转换为Java对象。例如,通过`@RequestBody`注解,我们可以指定将JSON数据映射到方法参数上。 5. **自定义序列化行为**:通过使用Jackson提供的...

    SpringMVC的json依赖jar包

    你可以在Controller方法中返回一个Java对象,SpringMVC会自动将其转换为JSON响应,或者接收客户端发送的JSON请求,并将其转换为Java对象。 例如,以下是一个简单的SpringMVC Controller示例,展示了如何利用Jackson...

    springmvc对json支持

    这会将请求体中的JSON数据转换为Java对象,使得我们可以直接在方法参数中使用。 5. **类型转换**:Jackson库使用`@JsonAutoDetect`、`@JsonProperty`等注解来控制序列化和反序列化的行为。例如,`@JsonProperty`...

    SpringMVC中Json数据格式转换

    在SpringMVC中,JSON数据格式转换主要涉及到两个注解:@RequestBody和@ResponseBody。 @RequestBody注解用于读取HTTP请求的内容(字符串),然后通过SpringMVC提供的HttpMessageConverter接口将读到的内容转换为...

    springMVC返回json数据需要的两个架包

    在本案例中,"springMVC返回json数据需要的两个架包"指的是`jackson-mapper-asl-1.9.13.jar`和`jackson-core-asl-1.9.13.jar`。 1. Jackson库:这两个jar文件属于Jackson库的一部分,Jackson是Java中广泛使用的JSON...

    springMVC+json.zip_JSON_myeclipse_springmvc_数据传递

    在IT行业中,SpringMVC和JSON是两个非常重要的技术组件,尤其在开发Web应用程序时。SpringMVC作为Spring框架的一部分,提供了强大的模型-视图-控制器(MVC)架构支持,而JSON则是一种轻量级的数据交换格式,常用于...

    springmvc返回json用到的jar包

    - 在Spring MVC的配置文件(如`dispatcher-servlet.xml`或`applicationContext.xml`)中,你需要配置`MessageConverter`来处理JSON转换。默认情况下,Spring MVC会自动配置Jackson的`MappingJackson2...

    springmvc json配置

    Spring MVC提供了对JSON的支持,允许我们轻松地将Java对象转换为JSON字符串,反之亦然。这在RESTful API的开发中尤其重要,因为它允许我们以JSON格式返回HTTP响应。 3. **配置JSON支持** 要在Spring MVC中启用...

    SpringMVC-json2.8.7

    它提供了`ObjectMapper`类,这是一个强大的工具,能够轻松地进行序列化(将Java对象转换为JSON)和反序列化(将JSON转换回Java对象)。通过`ObjectMapper`,开发者可以自定义序列化和反序列化的规则,如忽略某些字段...

    SpringMVC返回JSON数据相关Jar包

    在这个“SpringMVC返回JSON数据相关Jar包”中,包含了支持SpringMVC处理JSON数据所需的关键组件。 首先,我们需要理解SpringMVC如何处理JSON数据。在SpringMVC中,我们使用`@ResponseBody`注解标记在Controller方法...

    SpringMVC 使用JSON、XML视图

    SpringMVC为开发者提供了便捷的方式,将Java对象转换成JSON或XML视图,使得数据交换更加灵活。本文将详细介绍如何在SpringMVC中集成并使用JSON和XML视图,以及相关的库如json-lib、Jackson、xStream、Jibx和Jaxb2。 ...

    SpringMVC JSON格式的读取和显示

    在`WebMvcConfigurerAdapter`的子类中,可以重写`configureMessageConverters`方法,添加默认的JSON转换器: ```java @Configuration public class WebConfig implements WebMvcConfigurer { @Override public ...

Global site tag (gtag.js) - Google Analytics