方法一:全局处理
<mvc:annotation-driven>
<!-- 处理responseBody 里面日期类型 -->
<mvc:message-converters>
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean class="com.fasterxml.jackson.databind.ObjectMapper">
<property name="dateFormat">
<bean class="java.text.SimpleDateFormat">
<constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />
</bean>
</property>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
方法二:局部注解处理
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;
import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;
/**
* ClassName:DateJsonSerializer <br/>
* Function: 日期类型格式化,格式化为:yyyy-MM-dd HH:mm:ss 格式. 用法如下:<br/>
* Reason: @JsonSerialize(using=DateJsonSerializer.class)
* @Column(name="BIRTHDAY")
* public Date getBirthday() {
* return birthday;
* }
* . <br/>
* Date: 2014年7月10日 下午1:26:08 <br/>
* @author zhangzhaoyu
* @version 1.0
* @since JDK 1.7
* @see
*/
public class DateJsonSerializer extends JsonSerializer<Date> {
@Override
public void serialize(Date value, JsonGenerator jgen,
SerializerProvider provider) throws IOException,
JsonProcessingException {
SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String formattedDate = formatter.format(value);
jgen.writeString(formattedDate);
}
}
方法三:jackson 注解处理
@JsonIgnoreProperties
此注解是类注解,作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。
@JsonIgnore
此注解用于属性或者方法上(最好是属性上),作用和上面的@JsonIgnoreProperties一样。
@JsonFormat
此注解用于属性或者方法上(最好是属性上),可以方便的把Date类型直接转化为我们想要的模式,比如@JsonFormat(pattern = "yyyy-MM-dd HH-mm-ss")
@JsonSerialize
// 反序列化一个固定格式的Date
@JsonDeserialize(using = CustomDateDeserialize.class)
public void setBirthday(Date birthday) {
this.birthday = birthday;
}
// 序列化指定格式的double格式
@JsonSerialize(using = CustomDoubleSerialize.class)
public double getSalary() {
return salary;
}
public class CustomDateDeserialize extends JsonDeserializer<Date> {
private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
@Override
public Date deserialize(JsonParser jp, DeserializationContext ctxt)
throws IOException, JsonProcessingException {
Date date = null;
try {
date = sdf.parse(jp.getText());
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
}
分享到:
相关推荐
本文将详细讨论如何在Spring MVC中针对`ResponseBody`返回的JSON数据进行脱敏处理。 首先,我们需要了解`ResponseBody`注解的作用。在Spring MVC中,当控制器方法的返回值前加上`@ResponseBody`时,Spring会将返回...
综上所述,Spring MVC 4.X REST JSON示例旨在展示如何利用Spring MVC框架创建高效、灵活且易于维护的RESTful服务,处理JSON数据交换。通过理解以上知识点,开发者可以有效地构建自己的REST API,满足现代Web应用的...
标题提到的"最新版本 Jackson 2.8.2 jar与Spring 4.x @ResponseBody配合使用"涉及到的关键知识点包括Jackson的三个核心模块,以及如何在Spring MVC中利用这些模块实现RESTful API的数据响应。 1. **Jackson核心模块...
var jsonStr = JSON.stringify(user); alert("jsonStr == " + jsonStr); $.ajax({ type: "post", contentType: "application/json;charset=UTF-8", url: '<c:url value="/book/testJsonUser.do" />', ...
4. **控制器方法的编写**:在 Spring MVC 的控制器类中,我们可以定义处理 HTTP 请求的方法,并使用 `@RequestBody` 和 `@ResponseBody` 注解来接收和返回 JSON 数据。例如: ```java @RequestMapping(value = "/...
4. **JSON与Ajax**:Spring MVC 3与jQuery或其他JavaScript库配合,可以方便地实现Ajax请求和响应,以JSON形式进行数据交换。 **二、常见错误解决** 1. **406 Not Acceptable**:这个错误通常是因为客户端没有在...
5. **Spring MVC组件**:`@Controller`定义一个处理HTTP请求的控制器类,`@RequestMapping`用于映射HTTP请求,`@ResponseBody`表示方法的返回值将被直接写入HTTP响应体。 以下是一个简单的Spring MVC REST服务示例...
Spring MVC通过`@ResponseBody`注解和`MessageConverter`机制可以方便地将Java对象转换为JSON格式并返回给客户端。你可以使用Jackson或Gson库作为默认的JSON转换器。在控制器方法中,将要返回的对象标记为`@...
在Spring MVC框架中,使用`@ResponseBody`注解可以方便地将控制器方法的返回值转换为JSON格式,然后发送到客户端。本篇文章将详细介绍如何在Spring MVC的XML配置中设置,以便让`@ResponseBody`自动将Java对象转换为...
Spring MVC中的`@ResponseBody`注解可以将方法的返回值直接转换为JSON格式发送到客户端,而`@RequestBody`则可以将请求体中的JSON数据解析成Java对象。 **Jackson** Jackson是Java中广泛使用的JSON库,它可以高效地...
Spring MVC通过`@ResponseBody`和`@RestController`注解支持Ajax请求,可以返回JSON或XML数据,使得页面无需刷新即可更新部分内容。 RESTful URL是一种遵循REST(Representational State Transfer,表现层状态转移...
9. **RESTful服务**:Spring 4.x改进了对RESTful API的支持,通过@RequestBody、@ResponseBody等注解,简化了JSON数据的交换。 10. **测试支持**:Spring提供了全面的测试工具和库,包括单元测试、集成测试和端到端...
Spring MVC 是一个强大的Java Web开发框架,用于构建高效、可维护的Web应用程序。它通过注解简化了控制器的创建和请求处理,使开发者能够更专注于业务逻辑而不是底层的HTTP细节。在本文中,我们将深入探讨Spring MVC...
标题中的“Spring MVC – Easy REST-Based JSON Services with @ResponseBody”是指使用Spring MVC框架构建基于REST的JSON服务,并通过使用`@ResponseBody`注解来简化这一过程。REST(Representational State ...
总结,Spring MVC处理JSON数据的关键在于`@RequestBody`和`@ResponseBody`注解以及HttpMessageConverter。`@RequestBody`用于将JSON请求体映射到方法参数,`@ResponseBody`用于将方法返回值转换为JSON响应。通过集成...
Spring MVC提供了ModelAndView或ResponseBody等机制来处理返回的视图,可以是HTML页面,也可以是JSON或XML等数据格式。Spring Security可以用来处理认证和授权,保护应用程序的安全。 总的来说,Spring MVC、Spring...
4. **Ajax分页**:结合Spring MVC的ModelAndView或ResponseBody,实现无刷新的分页功能。 5. **错误处理**:Spring MVC可以返回错误码或自定义消息,jQuery接收到这些信息后可以显示相应的错误提示。 文件“spring...
Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。这份“Spring.MVC学习指南.pdf”很可能是为了帮助开发者深入理解和掌握Spring MVC的核心概念...
Spring MVC 自动支持 JSON 序列化和反序列化,通过 `@RequestBody` 和 `@ResponseBody` 注解,Spring 能够自动将 Java 对象转换为 JSON,反之亦然。 7. **错误处理** 可以通过自定义异常处理器(`@...
此外,还可以使用`@JsonFormat`控制日期格式,或者创建自定义的`JsonSerializer`和`JsonDeserializer`来处理特定类型的序列化和反序列化。 在`index.jsp`中,你可以使用JavaScript(如jQuery)来发送异步请求获取...