- 浏览: 218566 次
- 性别:
- 来自: 广州
文章分类
- 全部博客 (397)
- j2se (28)
- nio (3)
- 易错点 (3)
- 面试ssh (9)
- ssh整合 (11)
- jbpm+spring (2)
- js (15)
- 高级技术 (59)
- swing (3)
- 数据库 (16)
- hibernate (18)
- spring (19)
- 开发网站知识点 (9)
- jbpm (4)
- json (5)
- 设计模式 (22)
- 自定义标签 (1)
- j2ee (9)
- lucene (3)
- cahce (11)
- maven (5)
- html5 (1)
- 多数据源 (10)
- 页面聊天 (9)
- 富客户端 (1)
- android (13)
- aop+拦截器+jms (13)
- 框架整合 (1)
- 非阻塞io (24)
- 暂时不看 (13)
- webservice (3)
- oracle (3)
- 算法 (4)
- 协程 (2)
- netty (1)
- 爬虫 (0)
- 高级基础 (1)
- JVM调优总结 (12)
- 知识点技巧 (1)
- REST (0)
- 基础 io (2)
- dubbo (8)
- 线程 (1)
- spring源码 (2)
- git (1)
- office (2)
最新评论
-
sjzcmlt:
,写的挺好的啊
一个完整的负载均衡的例子 . -
他大姨妈:
网上大部分例子都是直接通过IdleStateHandler来实 ...
Netty的超时机制 心跳机制
其实SpringMVC的JSON转换方法是利用了 Jackson 这个开源的第三方类库,它提供了一些自定义格式的方法。只要我们继承它的抽象类:public abstract class JsonSerializer<T>,并在相应的属性方法上添加指定注解:@JsonSerialize�0�2即可实现。
编写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;
}
就这么简单就可以实现返回的JSON数据中日期格式自动转换为:yyyy-MM-dd 的格式了。
编写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;
}
就这么简单就可以实现返回的JSON数据中日期格式自动转换为:yyyy-MM-dd 的格式了。
发表评论
-
springboot jta分步式事物
2017-12-24 11:30 670# Mysql 1 mysql.datasource.te ... -
springboot 多数据源
2017-12-24 11:07 756spring.datasource.test1.drive ... -
Spring AOP 概念与例子
2016-04-11 11:05 556先了解AOP的相关术语: ... -
OpenSessionInViewFilter 的配置及替代方案
2016-04-10 21:17 0Spring 为我们提供了一个叫做 OpenSessionI ... -
怎么在spring官网上下载spring的jar包, 源代码和文档?
2016-04-10 21:03 0现在 http://repo.spring.io/relea ... -
在Spring中使用JTA事务管理
2016-04-10 21:01 392Spring 通过AOP技术可以让我们在脱离EJB的情况 ... -
Spring分布式事务实现
2016-04-10 20:57 332分布式事务是指操作多个数据库之间的事务,spring的 or ... -
spring+hibernate+jta 分布式事务Demo
2016-04-10 20:45 5760、设计分布式数据库 ... -
怎么在spring官网上下载spring的jar包, 源代码和文档?
2015-11-28 12:11 589现在 http://repo.spring.io/relea ... -
使用hibernate 分表做增删改查、
2014-10-23 17:30 890公司项目有一张表的数据量特别大、而且时间越长累积的数据量就越 ... -
spring中的事件传播
2014-10-18 10:43 392package com.logcd.beans;impor ... -
Spring Security学习总结二
2014-10-20 17:29 282前一篇文章里介绍了Sp ... -
Spring Security学习总结一(转)
2014-10-20 17:27 747在认识Spring Security之 ... -
Spring事务Transaction配置的五种注入方式详解
2014-09-19 14:21 564代码下载地址:http://www.zuidaima.com ... -
SpringAOP 的使用(两种方式)
2014-07-24 14:25 743使用Spring AOP 拦截 方法,给被拦截的方法加上, ... -
spring aop
2014-07-05 23:53 491<context:annotation-config ... -
Spring源代码解析(收藏) Spring源代码解析(一):IOC容
2014-05-21 16:06 769Spring源代码解析(收藏) Spring源代码解析(一 ... -
Spring 3 mvc中返回pdf,json,xml等不同的view
2014-04-30 22:14 489spring mvc就是好,特别是rest风格的话,一个 o ... -
五种Spring事务的配置方式
2014-04-11 20:45 425第一种方式:每个Bean都有一个代理 <?xml ve ... -
Spring简介01
2014-03-25 13:44 585Spring是一个轻量级控制反转(IOC)和面向切面 ...
相关推荐
总结来说,`jackson-mapper-asl-1.9.13.jar`和`jackson-core-asl-1.9.13.jar`是Spring MVC返回JSON数据所必需的,它们使得Spring MVC能够通过`@ResponseBody`注解将Java对象转换为JSON格式。通过正确配置和利用...
// 转换为JSON格式 List, Object>> rows = new ArrayList(); for (User user : users) { Map, Object> row = new HashMap(); row.put("id", user.getId()); row.put("name", user.getName()); // 其他字段......
为了确保JSON序列化和反序列化时的性能和灵活性,我们还可以对Jackson库进行一些高级配置,例如忽略空值、自定义日期格式、添加自定义序列化和反序列化逻辑等。这可以通过创建一个`ObjectMapper`实例并在Spring配置...
在实际开发中,你可能还需要处理JSON安全问题,例如使用`@JsonView`来限制返回的字段,或者使用`@JsonFormat`来控制日期格式等。同时,随着版本的更新,确保始终使用最新的稳定版本以获取最佳性能和安全性。
6. **日期格式化**: - 默认情况下,Jackson可能会将日期转换为不友好的ISO-8601格式。若需要自定义日期格式,可以使用`@JsonFormat`注解或全局配置`ObjectMapper`。 7. **错误处理**: - 当JSON序列化或反序列化...
7. **性能优化**:为了提高性能,可以开启Jackson的树模型(`ObjectMapper.enable(MapperFeature.USE_JAVA_BEANS)`),这样在处理大量数据时能减少内存消耗。同时,通过设置`@JsonInclude(JsonInclude.Include.NON_...
为了解决这个问题,我们需要确保SpringMVC能够正确地将返回的数据转换为JSON格式,并设置合适的响应头。 首先,我们需要引入Jackson库来处理JSON序列化和反序列化。Jackson是Java中广泛使用的JSON处理库,包括三个...
在这个例子中,我们返回一个`User`对象,它将被自动转换为JSON格式。 此外,Spring MVC还提供了`@ResponseBody`注解,它可以用于方法或方法参数,表示该方法的返回值应作为HTTP响应的主体。例如,如果你不想用`...
在Spring MVC框架中,开发Web应用时经常需要将对象转换为JSON格式的数据并返回给客户端。然而,在处理敏感数据时,我们可能希望对这些数据进行脱敏,即隐藏或替换某些字段,以保护用户隐私或者确保数据安全性。本文...
JSON格式通常用于前后端交互,因为它可以直接被JavaScript对象表示,减少了数据转换的复杂性。JSON数据结构包括对象(键值对)和数组。 4. **SpringMVC与JSON的结合**:在SpringMVC中,使用JSON进行数据传递,主要...
在处理JSON请求和响应时,DispatcherServlet会通过HandlerAdapter找到合适的Handler(控制器)来执行,并通过ViewResolver解析视图,将结果以JSON格式返回给客户端。 接着,我们引入JSON库。常见的JSON库有Jackson...
4. **@RequestBody注解**:在接收客户端发送的JSON数据时,我们可以使用`@RequestBody`注解。这会将请求体中的JSON数据转换为Java对象,使得我们可以直接在方法参数中使用。 5. **类型转换**:Jackson库使用`@...
7. **错误处理**:在处理JSON数据时,可能会遇到解析错误、类型不匹配等问题。为了解决这些问题,我们需要捕获并处理`JsonParseException`、`JsonMappingException`等异常。 通过以上步骤,我们就成功地在Spring ...
1. 使用@JsonFormat注解格式化日期 在Java实体类的日期类型属性的getter方法上,可以使用@JsonFormat注解来指定日期的格式。例如,如果希望日期格式为"yyyy-MM-dd HH:mm:ss",并以GMT+8时区输出,则可以如下使用: `...
Spring提供了`@DateTimeFormat`和`@NumberFormat`注解来帮助自动解析和格式化日期和数字。另外,还可以通过实现`Formatter`接口或使用`ConversionService`来自定义格式化逻辑。 2. 数据校验: SpringMVC支持JSR-...
当我们的控制器方法返回一个对象时,Spring会查找合适的转换器,如Jackson的`MappingJackson2HttpMessageConverter`,将对象转化为JSON格式。 例如,我们创建一个名为`EntryOrJsonJacksonControoler`的控制器类,...
SpringMVC支持JSON序列化和反序列化,允许服务器将Java对象转换为JSON字符串发送给客户端,以及将客户端发送的JSON数据转换回Java对象。这个过程中,Jackson库扮演了关键角色。 Jackson是Java领域中广泛使用的JSON...
Jackson库的强大功能不仅限于基本的对象转换,还包括处理日期时间、泛型、枚举、自定义类型等复杂场景,以及支持JSON Schema、流式处理等高级特性。 总结来说,`jackson-core-asl.jar`和`Jackson-mapper-asl.jar`在...
在现代Web开发中,JSON(JavaScript Object Notation)已经成为一种广泛使用的数据交换格式,它轻量级、易于读写,并且被大多数编程语言所支持。Spring MVC,作为Spring框架的一部分,提供了一种优雅的方式来处理...
总之,处理Spring MVC中的JSON数据时,理解Content-Type和Accept头的作用至关重要。正确配置Spring MVC的JSON支持,确保前端和后端的数据类型匹配,是避免406错误的关键。同时,保持库版本的兼容性也是保证程序稳定...