先定义实体类:

package com.zf.vo; import java.sql.Timestamp; import
com.fasterxml.jackson.annotation.JsonIgnore; import
com.fasterxml.jackson.databind.annotation.JsonSerialize; import
com.zf.control.JsonTimestampFormater; public class Person { private String name
; @JsonIgnore //表示将该对象转换为json String的时候,忽略该属性 private int age ;
@JsonSerialize(using = JsonTimestampFormater.class)
//表示将该对象转换为Json对象的时候,使用的类型转器为自己定义的转换器 private Timestamp birthday ; public
String getName() { return name; } public void setName(String name) { this.name
= name; } public int getAge() { return age; } public void setAge(int age) {
this.age = age; } public Timestamp getBirthday() { return birthday; } public
void setBirthday(Timestamp birthday) { this.birthday = birthday; } }

类型转换器定义如下:

package com.zf.control; import java.io.IOException; import java.sql.Timestamp;
import java.text.SimpleDateFormat; import
com.fasterxml.jackson.core.JsonGenerator; import
com.fasterxml.jackson.core.JsonProcessingException; import
com.fasterxml.jackson.databind.JsonSerializer; import
com.fasterxml.jackson.databind.SerializerProvider; public class
JsonTimestampFormater extends JsonSerializer<Timestamp> { private final
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); @Override
public void serialize(Timestamp value, JsonGenerator jgen, SerializerProvider
sp) throws IOException, JsonProcessingException {
jgen.writeString(sdf.format(value)); } }

测试类如下:

package com.zf.test; import java.io.IOException; import java.sql.Timestamp;
import com.fasterxml.jackson.core.JsonGenerationException; import
com.fasterxml.jackson.databind.JsonMappingException; import
com.fasterxml.jackson.databind.ObjectMapper; import com.zf.vo.Person; public
class Test { public static void main(String[] args) throws
JsonGenerationException, JsonMappingException, IOException { Person person =
new Person(); person.setAge(19); person.setName("xxxxx");
person.setBirthday(new Timestamp(System.currentTimeMillis())); ObjectMapper
mapper = new ObjectMapper(); String jsonstr =
mapper.writeValueAsString(person); System.out.println(jsonstr); } }

打印结果

{"name":"xxxxx","birthday":"2012-08-03 03:05:06"}

技术
今日推荐
阅读数 12
阅读数 11
阅读数 10
©2020 ioDraw All rights reserved
【C语言】乘法表韦恩图解决数学问题10个Python爬虫入门实例Java版斗地主代码免费复制FDTD solution——材料拟合、光源设置时间类型转换的问题“2021-01-20T10:09:11Z”python gui界面实例-Python GUI编程完整示例漫谈TCP加速的笑话用python的turtle库绘制风车动画❀Linux系统上C语言的编译与调试你还不知道吗?❀