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

相关文章

详解MySQL中JSON数据类型用法及与传统JSON字符串对比

《详解MySQL中JSON数据类型用法及与传统JSON字符串对比》MySQL从5.7版本开始引入了JSON数据类型,专门用于存储JSON格式的数据,本文将为大家简单介绍一下MySQL中JSON数据类型... 目录前言基本用法jsON数据类型 vs 传统JSON字符串1. 存储方式2. 查询方式对比3. 索引

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

MySQL 8 中的一个强大功能 JSON_TABLE示例详解

《MySQL8中的一个强大功能JSON_TABLE示例详解》JSON_TABLE是MySQL8中引入的一个强大功能,它允许用户将JSON数据转换为关系表格式,从而可以更方便地在SQL查询中处理J... 目录基本语法示例示例查询解释应用场景不适用场景1. ‌jsON 数据结构过于复杂或动态变化‌2. ‌性能要

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

MySQL查询JSON数组字段包含特定字符串的方法

《MySQL查询JSON数组字段包含特定字符串的方法》在MySQL数据库中,当某个字段存储的是JSON数组,需要查询数组中包含特定字符串的记录时传统的LIKE语句无法直接使用,下面小编就为大家介绍两种... 目录问题背景解决方案对比1. 精确匹配方案(推荐)2. 模糊匹配方案参数化查询示例使用场景建议性能优

解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题

《解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘问题》:本文主要介绍解决未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4... 目录未解析的依赖项:‘net.sf.json-lib:json-lib:jar:2.4‘打开pom.XM

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

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