方法一:全局处理
<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**:这个错误通常是因为客户端没有在...
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库,它可以高效地...
9. **RESTful服务**:Spring 4.x改进了对RESTful API的支持,通过@RequestBody、@ResponseBody等注解,简化了JSON数据的交换。 10. **测试支持**:Spring提供了全面的测试工具和库,包括单元测试、集成测试和端到端...
标题中的“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响应。通过集成...
4. **Ajax分页**:结合Spring MVC的ModelAndView或ResponseBody,实现无刷新的分页功能。 5. **错误处理**:Spring MVC可以返回错误码或自定义消息,jQuery接收到这些信息后可以显示相应的错误提示。 文件“spring...
Spring MVC 是一个基于Java的轻量级Web应用框架,它是Spring框架的重要组成部分,主要用于构建Web应用程序的后端控制器。这份“Spring.MVC学习指南.pdf”很可能是为了帮助开发者深入理解和掌握Spring MVC的核心概念...
此外,还可以使用`@JsonFormat`控制日期格式,或者创建自定义的`JsonSerializer`和`JsonDeserializer`来处理特定类型的序列化和反序列化。 在`index.jsp`中,你可以使用JavaScript(如jQuery)来发送异步请求获取...
2. **@RequestBody 和 @ResponseBody**:这两个Spring MVC注解是处理JSON的核心。`@RequestBody`用于将HTTP请求体中的JSON数据映射到Java对象,而`@ResponseBody`则将控制器方法返回的对象转换为JSON响应。 3. **...
- 创建Controller,使用@RequestMapping注解映射URL,@RequestBody和@ResponseBody注解处理请求和响应的JSON数据。 - 编写MyBatis的Mapper XML文件和对应的Mapper接口,定义SQL语句和结果映射。 6. **源码和工具*...
- **日期格式化**:对于日期类型的属性,需要特别处理JSON序列化,可以使用`@JsonFormat`注解来指定日期格式。 总的来说,Spring MVC结合Jackson库,能够方便地处理JSON数据,实现与前端的高效通信。在实际项目中...
这个项目提供的示例工程应该包含了一个工作流程的完整实例,从Ajax请求到Spring MVC的处理,再到JSON响应的返回,帮助开发者理解并掌握这一技术栈的使用。通过深入研究和实践,你将能够熟练地在自己的项目中应用这些...
在开发Web应用时,我们经常会遇到一个问题:当使用Spring MVC的`@ResponseBody`注解将后端处理结果直接转化为HTTP响应体时,如果这个结果中包含HTML特殊字符,如尖角号、引号、按位与符号等,浏览器可能会误解析,...