`

自定义SpringMVC@ResponseBody返回JSON数据的日期类型

阅读更多

[一]、概述及场景

在运用SpringMVC框架开发时,可以直接在方法上添加注解 @ResponseBody 返回JSON数据,如果javabean的属性中包含 Date日期类型的数据,默认的转换格式并不是我们想要的 yyyy-MM-dd 这样的格式,那又如何实现这样的格式转化呢?

其实SpringMVC的JSON转换方法是利用了 Jackson 这个开源的第三方类库,它提供了一些自定义格式的方法。只要我们继承它的抽象类:public abstract class JsonSerializer<T>,并在相应的属性方法上添加指定注解:@JsonSerialize 即可实现。

编写Date日志自定义转换类:

CustomDateSerializer.java

package com.micmiu.demo.web.v1.utils;

import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonProcessingException;
import org.codehaus.jackson.map.JsonSerializer;
import org.codehaus.jackson.map.SerializerProvider;

/**
 * 自定义返回JSON 数据格中日期格式化处理
 *
 * @author <a href="http://www.micmiu.com">Michael Sun</a>
 */
public class CustomDateSerializer extends JsonSerializer<Date> {
	@Override
	public void serialize(Date value, JsonGenerator jgen,
			SerializerProvider provider) throws IOException,
			JsonProcessingException {
		SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");
		String formattedDate = formatter.format(value);
		jgen.writeString(formattedDate);
	}

}

 javabean对应属性的方法添加注解:

@JsonSerialize(using = CustomDateSerializer.class)
	public Date getCreateDate() {
		return createDate;
	}

 

分享到:
评论

相关推荐

    spring MVC 对 ResponseBody返回json数据进行脱敏处理

    本文将详细讨论如何在Spring MVC中针对`ResponseBody`返回的JSON数据进行脱敏处理。 首先,我们需要了解`ResponseBody`注解的作用。在Spring MVC中,当控制器方法的返回值前加上`@ResponseBody`时,Spring会将返回...

    SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(下)

    若要返回JSON数据,确保项目已引入Jackson库,并且返回类型可被Jackson序列化。 - 对于XML数据,Spring MVC默认使用了JAXB库(Jaxb2RootElementHttpMessageConverter)。返回类型需要有对应的XML注解(如`@...

    SpringMVC使用@ResponseBody.rar

    综上所述,`@ResponseBody`是Spring MVC中实现数据返回的关键组件,它使得我们可以方便地构建RESTful服务,与各种数据格式进行交互。理解其工作原理和使用方式,有助于我们更好地设计和实现高效的Web应用程序。

    SpringMVC中使用@RequestBody,@ResponseBody注解实现Java对象和XML/JSON数据自动转换(上)

    此外,当请求体的数据结构复杂或者有特殊约束时,也可能需要对模型类进行额外的注解处理,如`@DateTimeFormat`和`@JsonFormat`等,以便正确解析日期和时间等复杂类型。 总结来说,`@RequestBody`和`@ResponseBody`...

    SpringMVC返回JSON数据相关Jar包

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

    springmvc操作json数据所需的jar包

    `@RequestBody`用于将请求体中的JSON数据映射到方法参数,而`@ResponseBody`则将方法返回的对象转换为JSON并写入响应体。 例如: ```java import org.springframework.web.bind.annotation.*; @RestController ...

    Spring MVC – Easy REST-Based JSON Services with @ResponseBody

    例如,下面是一个简单的Controller示例,展示了如何使用`@RequestMapping`和`@ResponseBody`处理GET请求并返回JSON数据: ```java import org.springframework.web.bind.annotation.*; @RestController public ...

    SpringMVC中解决@ResponseBody注解返回中文乱码问题

    在SpringMVC框架中,`@ResponseBody`注解用于将方法的返回值直接转换为HTTP响应体,通常用于处理JSON或XML格式的数据。然而,当返回的字符串中包含中文字符时,如果没有正确设置编码,就可能导致乱码问题。本文将...

    springmvc加入json支持

    在实际开发中,你可能还需要处理JSON安全问题,例如使用`@JsonView`来限制返回的字段,或者使用`@JsonFormat`来控制日期格式等。同时,随着版本的更新,确保始终使用最新的稳定版本以获取最佳性能和安全性。

    springMVC+json.zip_JSON_myeclipse_springmvc_数据传递

    这里,`User`是自定义的Java对象,`@RequestBody`将JSON数据转换为`User`对象,`@ResponseBody`将处理结果转换为JSON返回。 7. **调试和测试**:在MyEclipse中,你可以使用内置的Tomcat服务器运行项目,通过...

    SpringMVC中controller返回json数据的方法

    本文将详细介绍SpringMVC中Controller返回JSON数据的两种主要方法:使用@RequestMapping注解配合@ResponseBody以及手动编写JSON工具类方法。 1. 使用@RequestMapping注解配合@ResponseBody注解 在SpringMVC中,可以...

    springmvc对json支持

    总结起来,Spring MVC对JSON的支持主要依赖于Jackson库,通过`@ResponseBody`和`@RequestBody`注解实现数据交换,配合注解进行类型转换控制,同时允许开发者自定义序列化和反序列化行为,以及配置错误处理机制。...

    springmvc返回json数据的jar包

    4. **返回JSON的Controller方法**:在控制器类中,我们创建一个方法,该方法的返回类型或返回值被`@ResponseBody`注解覆盖。例如,我们可以定义一个返回用户信息的方法: ```java @RequestMapping(value = "/...

    SpringMVC中使用JSON传递数据时用的jar包

    `@RequestBody`用于将HTTP请求体中的JSON数据转换为Java对象,而`@ResponseBody`则将方法返回的对象转换为JSON并写入HTTP响应体。 4. **Controller层的使用**:在Controller类的方法中,你可以定义一个参数,使用`@...

    SSM 关于向前台返回json数据问题

    SSM(Spring、SpringMVC、...综上所述,SSM框架中的JSON数据返回涉及SpringMVC的配置、Controller的编写、前端与后端的交互,以及异常处理等方面。正确配置和使用这些技术能确保SSM项目高效地向前端提供JSON数据。

    springmvc-json-lib.rar

    此外,我们还可以自定义JSON序列化和反序列化的规则,例如忽略某些字段、自定义日期格式等,通过创建Jackson的`ObjectMapper`实例并配置相关属性来实现。 最后,关于RAR文件,它是Microsoft的压缩文件格式,用于...

    (代码)SpringMVC第7讲:json支持

    这意味着,当你的返回类型是Java对象,且方法上有`@ResponseBody`注解时,Spring会自动调用Jackson库将对象转换为JSON字符串。 4. **MappingJackson2HttpMessageConverter**:这是SpringMVC中用于处理JSON的默认...

    SpringMVC使用JSON的Jackson的jar包

    SpringMVC通过`@ResponseBody`注解支持将方法返回的对象直接序列化为JSON,然后发送到客户端。要实现这一功能,需要依赖Jackson库,特别是Jackson的两个核心组件:`jackson-mapper-asl`和`jackson-core-asl`。 1. ...

    jack-json包和配置,springmvc3.2及以下json格式支持

    4. **处理日期和自定义类型**: Jackson允许我们自定义日期格式或者注册自定义的序列化和反序列化逻辑,通过注解或配置`ObjectMapper`来实现。 通过以上步骤,即使在Spring MVC 3.2及以下版本,我们也能成功地使用...

    Springmvc如何返回xml及json格式数据

    总结,Spring MVC通过`@ResponseBody`注解和指定`produces`属性可以方便地返回XML和JSON格式的数据。返回XML时需要关注字符编码,返回JSON时则可以直接返回对象。避免一些错误尝试,如直接返回XML字符串或未序列化的...

Global site tag (gtag.js) - Google Analytics