Jackson 转json 时日期格式化,排除字段,包含字段

2024-06-21 00:48

本文主要是介绍Jackson 转json 时日期格式化,排除字段,包含字段,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

package com.dj.spring3.jackson; 
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 时日期格式化,排除字段,包含字段的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1079734

相关文章

SpringBoot排查和解决JSON解析错误(400 Bad Request)的方法

《SpringBoot排查和解决JSON解析错误(400BadRequest)的方法》在开发SpringBootRESTfulAPI时,客户端与服务端的数据交互通常使用JSON格式,然而,JSON... 目录问题背景1. 问题描述2. 错误分析解决方案1. 手动重新输入jsON2. 使用工具清理JSON3.

Springboot3+将ID转为JSON字符串的详细配置方案

《Springboot3+将ID转为JSON字符串的详细配置方案》:本文主要介绍纯后端实现Long/BigIntegerID转为JSON字符串的详细配置方案,s基于SpringBoot3+和Spr... 目录1. 添加依赖2. 全局 Jackson 配置3. 精准控制(可选)4. OpenAPI (Spri

MySQL JSON 查询中的对象与数组技巧及查询示例

《MySQLJSON查询中的对象与数组技巧及查询示例》MySQL中JSON对象和JSON数组查询的详细介绍及带有WHERE条件的查询示例,本文给大家介绍的非常详细,mysqljson查询示例相关知... 目录jsON 对象查询1. JSON_CONTAINS2. JSON_EXTRACT3. JSON_TA

Java日期类详解(最新推荐)

《Java日期类详解(最新推荐)》早期版本主要使用java.util.Date、java.util.Calendar等类,Java8及以后引入了新的日期和时间API(JSR310),包含在ja... 目录旧的日期时间API新的日期时间 API(Java 8+)获取时间戳时间计算与其他日期时间类型的转换Dur

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co

使用Java将实体类转换为JSON并输出到控制台的完整过程

《使用Java将实体类转换为JSON并输出到控制台的完整过程》在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用JSON格式,用Java将实体类转换为J... 在软件开发的过程中,Java是一种广泛使用的编程语言,而在众多应用中,数据的传输和存储经常需要使用j

Python日期和时间完全指南与实战

《Python日期和时间完全指南与实战》在软件开发领域,‌日期时间处理‌是贯穿系统设计全生命周期的重要基础能力,本文将深入解析Python日期时间的‌七大核心模块‌,通过‌企业级代码案例‌揭示最佳实践... 目录一、背景与核心价值二、核心模块详解与实战2.1 datetime模块四剑客2.2 时区处理黄金法

Java进行日期解析与格式化的实现代码

《Java进行日期解析与格式化的实现代码》使用Java搭配ApacheCommonsLang3和Natty库,可以实现灵活高效的日期解析与格式化,本文将通过相关示例为大家讲讲具体的实践操作,需要的可以... 目录一、背景二、依赖介绍1. Apache Commons Lang32. Natty三、核心实现代

Java Jackson核心注解使用详解

《JavaJackson核心注解使用详解》:本文主要介绍JavaJackson核心注解的使用,​​Jackson核心注解​​用于控制Java对象与JSON之间的序列化、反序列化行为,简化字段映射... 目录前言一、@jsonProperty-指定JSON字段名二、@JsonIgnore-忽略字段三、@Jso

exfat和ntfs哪个好? U盘格式化选择NTFS与exFAT的详细区别对比

《exfat和ntfs哪个好?U盘格式化选择NTFS与exFAT的详细区别对比》exFAT和NTFS是两种常见的文件系统,它们各自具有独特的优势和适用场景,以下是关于exFAT和NTFS的详细对比... 无论你是刚入手了内置 SSD 还是便携式移动硬盘或 U 盘,都需要先将它格式化成电脑或设备能够识别的「文