文档章节

jackson 自定义序列化

 林哥_
发布于 2015/03/12 19:06
字数 198
阅读 36
收藏 0
/**
 * json null值不返回
 *
 * @author xulin
 * @version 1.0 2015年3月10日
 */
public class NotNullObjectMapper extends ObjectMapper {

	private static final long serialVersionUID = 8832585844584959426L;

	public NotNullObjectMapper() {
		this.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
		this.setSerializationInclusion(Include.NON_NULL);
		this.registerModule(new SimpleModule().addSerializer(EmptyObject.class, new EmptyObjectSerializer()));
	}

	/**
	 * 将空对像转为大括号{}
	 *
	 * @author xulin
	 * @version 1.0 2015年3月10日
	 */
	private class EmptyObjectSerializer extends JsonSerializer<EmptyObject> {

		@Override
		public void serialize(EmptyObject value, JsonGenerator jgen, SerializerProvider provider) throws IOException,
			JsonProcessingException {
			jgen.writeStartObject();
			jgen.writeEndObject();
		}

	}

	public static class PicPathSerializer extends JsonSerializer<String> {

		@Override
		public void serialize(String value, JsonGenerator jgen, SerializerProvider provider) throws IOException,
			JsonProcessingException {
			jgen.writeNumber(value);
		}

	}
}
<mvc:annotation-driven>
		<mvc:message-converters register-defaults="true">
			<!-- 将StringHttpMessageConverter的默认编码设为UTF-8 -->
			<bean class="org.springframework.http.converter.StringHttpMessageConverter">
		    	<constructor-arg value="UTF-8" />
			</bean>
			<!-- 将Jackson2HttpMessageConverter的默认格式化输出设为true -->
			<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="objectMapper">
                	<bean class="com.snail.assistant.util.NotNullObjectMapper"/>
                </property>
                <property name="prettyPrint" value="true"/>
                <property name="supportedMediaTypes" value="text/plain;charset=UTF-8" />
            </bean>
  		</mvc:message-converters>
  		
  		<mvc:argument-resolvers>
            <bean class="com.snail.assistant.web.bind.method.support.PageableMethodArgumentResolver"/>
            <bean class="com.snail.assistant.web.bind.method.support.CurrentUserMethodArgumentResolver"/>
        </mvc:argument-resolvers>
	</mvc:annotation-driven>


© 著作权归作者所有

上一篇: jquery.layout
下一篇: httpclient4.3
粉丝 1
博文 42
码字总数 10844
作品 0
苏州
私信 提问
Jackson 框架的高阶应用

Jackson 框架的高阶应用 刘万振 2017 年 11 月 15 日发布 Jackson 是当前用的比较广泛的,用来序列化和反序列化 json 的 Java 的开源框架。Jackson 社 区相对比较活跃,更新速度也比较快, ...

刘万振
2017/11/15
0
0
Scala Web开发-Akka HTTP中使用JSON

Jackson Jackson 是Java生态圈里最流行的JSON序列化库,它的官方网站是:https://github.com/FasterXML/jackson。 为什么选择 Jackson 为什么选择 Jackson 而不是更Scala范的 play-json、 ci...

羊八井
2018/10/09
543
0
Spring Boot Cache redis 序列化方式StringRedisSerializer和FastJsonRedisSerializer

当我们的数据存储到Redis的时候,我们的键(key)和值(value)都是通过Spring提供的Serializer序列化到数据库的。RedisTemplate默认使用的是JdkSerializationRedisSerializer,StringRedis...

xiaolyuh
2017/11/30
0
0
SpringBoot中使用@RequestBody时如何自定义需要转换的日期格式

SpringBoot(SpringMVC)序列化和反序列化Json时默认使用的是Jackson(例如使用@RequestBody反序列化前端传递过来的Json字符串时), 当我们前端使用Json字符串传递到后台时日期格式可能是时间...

帅得拖网速
2018/11/17
3.4K
5
【Spring Boot-技巧】API返回值去除为NULL的字段

简介 在前后端分离的微服务时代,后端API需要良好的规范。本篇主要将一个数据返回时的一个小技巧-- 过滤为空字段 解决痛点:将有效解决数据传输过程中的流量浪费。 组件简介 Jackson Object...

千万之路刚开始
2018/07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

最简单的获取相机拍照的图片

  import android.content.Intent;import android.graphics.Bitmap;import android.os.Bundle;import android.os.Environment;import android.provider.MediaStore;import andr......

MrLins
今天
4
0
说好不哭!数据可视化深度干货,前端开发下一个涨薪点在这里~

随着互联网在各行各业的影响不断深入,数据规模越来越大,各企业也越来越重视数据的价值。作为一家专业的数据智能公司,个推从消息推送服务起家,经过多年的持续耕耘,积累沉淀了海量数据,在...

个推
今天
8
0
第三方支付-返回与回调注意事项

不管是支付宝,微信,还是其它第三方支付,第四方支付,支付机构服务商只要涉及到钱的交易都要进行如下校验,全部成功了才视为成功订单 1.http请求是否成功 2.校验商户号 3.校验订单号及状态...

Shingfi
今天
4
0
简述Java内存分配和回收策略以及Minor GC 和 Major GC(Full GC)

内存分配: 1. 栈区:栈可分为Java虚拟机和本地方法栈 2. 堆区:堆被所有线程共享,在虚拟机启动时创建,是唯一的目的是存放对象实例,是gc的主要区域。通常可分为两个区块年轻代和年老代。更...

DustinChan
今天
6
0
Excel插入批注:可在批注插入文字、形状、图片

1.批注一直显示:审阅选项卡-------->勾选显示批注选项: 2.插入批注快捷键:Shift+F2 组合键 3.在批注中插入图片:鼠标右键点击批注框的小圆点【重点不可以在批注文本框内点击】----->调出批...

东方墨天
今天
6
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部