Jackson 转json 时日期格式化,排除字段,包含字段
来源:互联网 发布:打淘宝发货单要用什么 编辑:程序博客网 时间:2024/04/23 16:41
import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.map.introspect.BasicBeanDescription;
import org.codehaus.jackson.map.ser.BeanSerializerFactory;
/**
* @description 重写jackson 序列化工厂
* @author liudejian
* @date 2013-03-21
*/
public class BidBeanSerializerFactory extends BeanSerializerFactory {
public final static BidBeanSerializerFactory instance = new BidBeanSerializerFactory(null);
private Object filterId;
protected BidBeanSerializerFactory(Config config) {
super(config);
}
@Override
protected Object findFilterId(SerializationConfig config,
BasicBeanDescription beanDesc) {
return getFilterId();
}
public Object getFilterId() {
return filterId;
}
public void setFilterId(Object filterId) {
this.filterId = filterId;
}
}
=======测试代码======================
package com.dj.spring3.jackson;
import java.text.SimpleDateFormat;
import java.util.Date;
import org.codehaus.jackson.JsonEncoding;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.ser.impl.SimpleBeanPropertyFilter;
import org.codehaus.jackson.map.ser.impl.SimpleFilterProvider;
import com.dj.spring3.model.Fruit;
public class MyTest {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
Fruit f = new Fruit();
f.setName("8888");
f.setQuality(1000);
f.setBuyTime(new Date());
ObjectMapper objectMapper = new ObjectMapper();
JsonEncoding encoding = JsonEncoding.UTF8;
objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd"));
//排除
SimpleFilterProvider fileter = new SimpleFilterProvider();
fileter.addFilter(
"executeFilter",
SimpleBeanPropertyFilter.serializeAllExcept(new String[] {
"quality" }));
objectMapper.setFilters(fileter);
//仅包含
// SimpleFilterProvider fileter2 = new SimpleFilterProvider();
// fileter2.addFilter(
// "includeFilter",
// SimpleBeanPropertyFilter.filterOutAllExcept(new String[] {
// "id", "quality" }));
// objectMapper.setFilters(fileter2);
//设置日期格式化
objectMapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
JsonGenerator generator = objectMapper.getJsonFactory()
.createJsonGenerator(System.out, encoding);
BidBeanSerializerFactory bidBeanFactory = BidBeanSerializerFactory.instance;
bidBeanFactory.setFilterId("executeFilter"); //如果是仅包含这里填写 includeFilter
objectMapper.setSerializerFactory(bidBeanFactory);
objectMapper.writeValue(generator, f);
}
}
- Jackson 转json 时日期格式化,排除字段,包含字段
- Json.Net 排除某些字段
- oracle创建带有时日期字段的表
- SpringMVC返回JSON数据时日期格式化问题
- SpringMVC返回JSON数据时日期格式化问题
- iOS字典转json 包含字段nsstring
- SpringMVC使用Jackson返回JSON时日期少一天的问题
- 判断JSON是否包含字段
- SQL SERVER 查询时日期格式化
- Object转Json差异之Gson fastJson jackson 修改字段名
- jackson JSON对象映射出多余字段的bug
- jackson实体类转换json大小写及空字段忽略
- Jackson 解析json数据之忽略解析字段注解@JsonIgnoreProperties
- jackson实体类转换json大小写及空字段忽略
- Jackson 解析json数据之忽略解析字段注解@JsonIgnoreProperties
- Jackson 解析json数据之忽略解析字段注解@JsonIgnoreProperties
- springmvc 输出json时日期格式处理
- GridView中对日期时间字段进行格式化
- 一周极客热文:8张图理解Java
- mysql---多表关联
- HDU 1818 It's not a Bug, It's a Feature! 最短路
- ContentProvider和Uri详解
- 如何学C语言?
- Jackson 转json 时日期格式化,排除字段,包含字段
- unknow host
- 献给小白的你(WinForm在线程中操作控件)
- 整理Linux下gcc编译中关于头文件与库文件搜索路径相关问题
- 自己编写高负荷测试的工具
- TDD、BDD、DDD简介
- 【实用随记】data属性的应用
- 采用C标准库头文件的C++版本
- 我们会不会与操作系统谈一场奋不顾身的爱情──《云端情人》有感