jackson 驼峰注解_jackson 常用注解,比如忽略某些属性,驼峰和下划线互转

一般情况下使用JSON只使用了java对象与字符串的转换,但是,开发APP时候,我们经常使用实体类来做转换;这样,就需要用到注解;

Jackson默认是针对get方法来生成JSON字符串的,可以使用注解来做一些特殊用途;常见的使用如下:

1 排除属性

@JsonIgnore,一般标记在属性或方法上;作用于序列化与反序列化,在pure pojo中使用的比较少,但是在某些富pojo中,比如说由于缓存考虑,我们可能设置了一个接口,其中有个接口方法叫做getKey,此时默认的序列化/反序列化就会导致key找不到。

2 属性别名

@JsonProperty,序列化/反序列化都有效,早期版本一般用于pojo和mybatis mapper之间在驼峰式和下划线之间转换,在mybatis 3中,已经内置了该规则,可参见http://www.cnblogs.com/zhjh256/p/5814414.html;

3 属性排序

@JsonPropertyOrder,注释在类声明中;这个注解在某些对性能有极端要求且灵活性要求不是那么高场景中,可以一定程度上提升性能。

4 属性格式转换

使用自定义序列化/反序列化来处理;

@JsonSerialize,序列化;

@JsonDeserialize,反序列化;

不过,默认情况下,jackson是不处理注解的,需调用objectMapper.setAnnotationIntrospector(new JacksonAnnotationIntrospector());

需要注意的是:1.9之前仅根据语法确定有效或无效,1.9之后根据javabean的规范确定生效的getter/setter和属性。

JAVA的驼峰和下划线互转帮助类

实体类: import java.io.Serializable; import lombok.AllArgsConstructor; import lombok.Data; import lombo ...

springmvc配置MappingJackson2HttpMessageConverter实现属性驼峰和下划线的转换

需求 php调用java接口时,因为php那边的属性都是下划线风格,java这边的属性都是驼峰的风格.配置springmvc的json转换,在requestBody的时候(调用对象的set 方法)将j ...

【SCALA】2、驼峰,下划线互转

1.刚开始写scala,发现确实还是很不熟悉,api以及语法的使用都不是很简洁,这写出来跟java也没差多少... 献丑了 package spark /** * @ProjectName: cutt ...

递归将Map里的字段名由驼峰转为下划线

导航 定位 概述 算法设计 递归技巧 代码实现 定位 本文适合于想要使用Java递归地将Map里的Key字段名从驼峰转为下划线,或者想了解如何处理任意递归的Map结构的筒鞋. 概述 在进行多语言混合编 ...

Java实现递归将嵌套Map里的字段名由驼峰转为下划线

摘要: 使用Java语言递归地将Map里的字段名由驼峰转下划线.通过此例可以学习如何递归地解析任意嵌套的List-Map容器结构. 难度:初级 概述 在进行多语言混合编程时,由于编程规范的不同, 有时 ...

Button的几种常用的xml背景,扁平化,下划线,边框包裹,以及按压效果

Button的几种常用的xml背景,扁平化,下划线,边框包裹,以及按压效果 分享下我项目中用到的几种Button的效果,说实话,还真挺好看的 一.标准圆角 效果是这样的 他的实现很简单,我们只需要两个 ...

js字符串驼峰和下划线互相转换

// 下划线转换驼峰 function toHump(name) { return name.replace(/\_(\w)/g, function(all, letter){ return lett ...

java驼峰法和下划线法字符串的相互转换

java驼峰法和下划线法字符串的相互转换 1 import java.util.regex.Matcher; import java.util.regex.Pattern; public class ...

随机推荐

HAOI2015 泛做

T1 有一棵点数为N的树,树边有边权.给你一个在0~N之内的正整数K,你要在这棵树中选择K个点,将其染成黑色,并将其他的N-K个点染成白色.将所有点染色后,你会获得黑点两两之间的距离加上白点两两之间的 ...

Spring-Context之八:一些依赖注入的小技巧

Spring框架在依赖注入方面是非常灵活和强大的,多了解点一些注入的方式.方法,绝对能优化配置. idref idref属性可以传入一个bean的名称,虽然它是指向一个bean的引用,但是得到的是该b ...

抛弃NVelocity,来玩玩Razor

对于内容型,不易变动的东西我们都希望给它来个静态化,还有种情况就是比如新浪云不支持.net,为了能跑起我们的网站, 只能放些静态页面上面,外加jsonp来实现交互,我们知道.net中有很多模板引擎,但 ...

汇编学习(二)——8086CPU

一.8086CPU 1.微处理器 (1)微控制机:也称单片机 (2)DSP芯片:数字信号处理芯片 (3)嵌入式微处理器 (4)通用微处理器:PC站.工作站.服务器使用的处理器 2.内部结构: (1)总 ...

周期串(Periodic Strings,UVa455)

解题思路: 对一个字符串求其最小周期长度,那么,最小周期长度必定是字符串长度的约数,即最小周期长度必定能被字符串长度整除 其次,对于最小周期字符串,每位都能对应其后周期字串的每一位, 即 ABC  A ...

查看windows系统热键占用情况

有时候我们经常用一些软件中的快捷键,但是会发现快捷键设置的很正确,但是就是不起作用.这就是因为这些快捷键被系统或者其他软件占用了. 那么这时我们怎么知道是哪个软件占用了呢?这确实是个纠结的问题,还好大 ...

用 Gearman 分发 PHP 应用程序的工作负载

尽管一个 Web 应用程序的大部分内容都与表示有关,但它的价值与竞争优势却可能体现在若干专有服务或算法方面.如果这类处理过于复杂或拖沓,最好是进行异步执行,以免 Web 服务器对传入的请求没有响应.实 ...

HDU 5074 Hatsune Miku(DP)

Problem Description Hatsune Miku is a popular virtual singer. It is very popular in both Japan and C ...

最受欢迎的iOS第三方SDK

http://www.raywenderlich.com/forums/viewtopic.php?t=4496

LeetCode算法题-Rotate Array(Java实现)

这是悦乐书的第184次更新,第186篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第43题(顺位题号是189).给定一个数组,将数组向右旋转k步,其中k为非负数.例如: ...

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值