近日,使用Jackson转化JSON对象的时候,显示的时候,日期始终显示不正确,输出的日期是一串数字代表的时间戳,不符合要求,所以想到Jackson应当有方法设置输出的日期格式。后来一查果然有两种方式来实现:
1.普通的方式:
默认是转成timestamps形式的,通过下面方式可以取消timestamps。
Java代码
objectMapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false);
objectMapper.configure(SerializationConfig.Feature.WRITE_DATES_AS_TIMESTAMPS, false); 这样将使时间生成使用所谓的use a [ISO-8601 ]-compliant notation, 输出类似如下格式的时间: "1970-01-01T00:00:00.000+0000".
当然也可以自定义输出格式:
Java代码
objectMapper.getSerializationConfig().setDateFormat(myDateFormat);
objectMapper.getSerializationConfig().setDateFormat(myDateFormat);
Java代码
myDateFormat对象为java.text.DateFormat,具体使用清查java API
myDateFormat对象为java.text.DateFormat,具体使用清查java API2.annotaion的注释方式:
先定义自己需要的格式,例如:
Java代码
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;
/**
* java日期对象经过Jackson库转换成JSON日期格式化自定义类
* @author godfox
* @date 2010-5-3
*/
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);
}
}
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;
/**
* java日期对象经过Jackson库转换成JSON日期格式化自定义类
* @author godfox
* @date 2010-5-3
*/
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);
}
} 然后在你的POJO上找到日期的get方法
Java代码
@JsonSerialize(using = CustomDateSerializer.class)
public Date getCreateAt() {
return createAt;
}
Java代码
StringWriter sw = new StringWriter();
JsonGenerator gen = new JsonFactory().createJsonGenerator(sw);
JacksonUtil.getInstance().writeValue(gen, jsonlist);
gen.close();
String finalInfo = sw.toString();
System.out.println("finalinfo is:"+finalInfo );
分享到:
相关推荐
在IT行业中,Jackson库是Java领域广泛使用的JSON处理库,特别是在Spring框架中。"jackson-annotations"、"jackson-core"和"jackson-databind"是Jackson库的三个核心模块,它们协同工作,提供了强大的JSON序列化和反...
Jackson是Java领域中广泛使用的JSON处理库,它提供了高效的序列化和反序列化功能,使得Java对象能够轻易地转换为JSON格式,反之亦然。在本文中,我们将深入探讨Jackson库的基本用法,包括如何安装、配置,以及如何将...
在本文中,我们将深入探讨Jackson库的基本使用方法,特别是如何将JavaBean对象转换为JSON字符串,并了解如何忽略特定属性。 首先,使用Jackson库进行JSON操作,你需要引入相应的jar包。在标题和描述中提到的,你...
在本文中,我们将深入探讨Jackson的使用方法,尤其是它在序列化效率方面表现出的优势。 首先,Jackson的核心组件包括`ObjectMapper`,它是整个框架的入口点,负责将Java对象转换为JSON字符串(序列化)以及将JSON...
赠送jar包:jackson-dataformat-cbor-2.13.1.jar ...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。在Spring MVC框架中,当我们的控制器需要返回JSON格式的数据给前端时,Jackson库就扮演了至关重要的角色。标题提到的"jackson-annotations"、...
本文将详细介绍Jackson的使用方法,包括基本配置、对象转换为JSON字符串、忽略特定属性等核心概念。 首先,要使用Jackson库,你需要在项目中引入三个核心的JAR包: 1. `jackson-annotations-2.2.1.jar`:包含...
Jackson是Java领域中广泛使用的JSON处理库,它提供了一套高效、灵活的API来解析、生成、转换JSON数据。在Spring MVC框架中,Jackson库通常用于处理HTTP请求和响应中的JSON数据,使得Java对象能够方便地序列化为JSON...
Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。它提供了高效、功能丰富的处理JSON的方式,包括序列化和反序列化。在这个包中提到了四个关键组件:"jackson-databind"、"jackson-annotations...
说明:本篇讲的是Jackson的详细用法,Jackson工具类在文章最后,直接复制粘贴即可使用。 Jackson是公司中必用的组件之一,常用的还用阿里的Fastjson,但是由于一些原因bug与漏洞是在是太多,在注重安全的公司直接被...
Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。这个库的主要功能是将Java对象转换为JSON格式,同时也能够将JSON数据转换回Java对象,极大地简化了JSON的序列化和反序列化操作。在给定的...
Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。这个压缩包包含的三个核心组件——`jackson-annotations-2.9.5.jar`、`jackson-core-2.9.5.jar`和`jackson-databind-2.9.5.jar`是Jackson库的...
《让Jackson JSON生成的数据包含的中文以unicode方式编码》一文的配套代码。文章地址:http://blog.csdn.net/chaijunkun/article/details/8257209
Jackson包是Java开发中...理解其组件和使用方法,有助于提升项目的开发效率和质量。在实际项目中,应优先使用最新版本的`jackson-databind`、`jackson-core`和`jackson-annotations`,以充分利用其提供的功能和优化。
杰克逊(Jackson)是Java领域中广泛使用的JSON处理库,由 FasterXML 组织开发。这个压缩包包含了Jackson库的三个核心组件的2.2.3版本:`jackson-annotations-2.2.3.jar`、`jackson-core-2.2.3.jar` 和 `jackson-...
Jackson是Java领域中广泛使用的JSON处理库,它的2.7版本是其发展中的一个重要里程碑,提供了许多增强特性和性能优化。Jackson 2.7 jar文件是这个版本的二进制库,包含了处理JSON序列化和反序列化所需的所有类和方法...
赠送jar包:jackson-databind-2.12.3.jar;...使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
Jackson是Java领域中广泛使用的JSON处理库,2.9.3是其版本号。这个压缩包包含两个主要文件:`jackson-core-2.9.3.jar`和`jackson-core-master(1).zip`。前者是编译后的二进制JAR文件,可以直接在项目中引用以使用...
Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。它提供了高效、功能丰富的处理JSON的方式,包括序列化、反序列化以及数据绑定。在JSON的解析和生成方面,Jackson具有高性能、易用性以及灵活...
Jackson是Java领域中广泛使用的JSON处理库,由FasterXML公司开发并维护。它提供了高效、功能丰富的处理JSON的各种工具,包括序列化和反序列化。在Java应用程序中,Jackson库是一个不可或缺的部分,特别是对于那些...