JSON过滤属性,设置属性转换器的方法
json
适用于现代 C++ 的 JSON。
项目地址:https://gitcode.com/gh_mirrors/js/json
免费下载资源
·
先定义实体类:
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"}
GitHub 加速计划 / js / json
41.72 K
6.61 K
下载
适用于现代 C++ 的 JSON。
最近提交(Master分支:1 个月前 )
960b763e
4 个月前
8c391e04
6 个月前
更多推荐
已为社区贡献4条内容
所有评论(0)