一般情况下使用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为非负数.例如: ...

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

  1. SpringBoot教程(10) Jackson ObjectMapper使用和常用注解

    Jackson ObjectMapper使用和常用注解 一.前言 1. 引入Jackson 二.ObjectMapper 1. 创建ObjectMapper 2. 序列化 2.1 Java对象 转 J ...

  2. postmapping注解_Swagger常用注解

    在使用swagger时候如果掌握一些注解的使用,则在开发过程中测试的时候可以事半功倍,尤其在与前端技术进行联调,前端技术在访问swagger中的每个api时,可以很清楚的知道每个url对应的请求类型. ...

  3. fastjson 转下划线_fastjson 变量驼峰形式与下划线互转

    FastJson 支持配置的PropertyNamingStrategy四种策略 属性名策略说明: CamelCase策略,Java对象属性:personId,序列化后属性:persionId Pas ...

  4. @autowired注解_SpringBoot常用注解大全

    作者:tanwei81 , 链接:www.cnblogs.com/tanwei81 一.注解(annotations)列表 @SpringBootApplication: 包含了@ComponentS ...

  5. java有哪些注解_JAVA常用注解

    JDK自带注解 @Override 重写, 标识覆盖它的父类的方法 @Deprecated   已过期,表示方法是不被建议使用的 @Suppvisewarnings 压制警告,抑制警告 元注解 @Ta ...

  6. php 转驼峰,PHP实现驼峰和下划线互转

    本篇文章教大家实现驼峰命名和下划线命名互转,在php开发中经常需要两种命名法互相转换,下面为大家提供两种实现方式. 第一种方法效率相对差一些,实现方式如下://驼峰命名转下划线命名 function ...

  7. java filter 注解_Spring常用注解及自定义Filter的实现

    @Configuration通常用在配置类上,告诉spring这是一个配置类(配置类类似配置文件,区别在于用类的形式来表现xml: @Service用于标注业务层组件service层, @Contro ...

  8. HTML常用字体样式设置(加粗、下划线、斜体)

    有的时候,仅仅是价格要求,前面的符号小一点,后面的数字大一点,就没必要用SpannableString.用HTML简单处理即可 效果图: 代码实现: //加粗:<strong>222< ...

  9. jackson中@JsonProperty、@JsonIgnore等常用注解总结

    最近用的比较多,把json相关的知识点都总结一下,jackjson的注解使用比较频繁, jackson的maven依赖 <dependency> <groupId>com.fa ...

最新文章

  1. 概念炒作的背后,“智能合约”的真相是什么?
  2. 神州数码c语言笔试题,神州数码 面试
  3. BZOJ4943 [NOI2017] 蚯蚓
  4. HTML特殊字符大全2
  5. 前端学习(3225):字符串形式
  6. VBScript学习笔记 - 数组
  7. url主机域名可以省略_从输入url到页面完成加载发生了什么
  8. Source does not fit in dest
  9. python二进制解码_使用python3对二进制数据进行编码和解码,以将其包含到JSON中...
  10. 图像增强——imhist、imcontour、imadjust、histeq、fspecial、imfilter、medfilt2
  11. windows--CMD--命令大全
  12. 更新!2021智能仓储物流之最全AGV企业供应商名录
  13. html太极旋转css,前端CSS技巧之太极旋转图详解
  14. CTU Open Contest 2019 F. Beer Marathon(贪心)
  15. android软件无法联网,关于android软件wifi联网无法使用的问题
  16. 7-1 树的同构 【已改正】
  17. C++中cout用法
  18. MODBUS调试工具(modscan32)使用说明
  19. C++ 并发指南 std::mutex
  20. 化简分数,输入分子和分母,输出化简后的分子和分母。采用无脑迭代法;

热门文章

  1. Oracle10g安装了11g的ODAC后,PL/SQL连接提示TNS:无法解析指定的连接标识符
  2. 祖国60岁生日,我在北京度过。
  3. asp.net 2.0 + sqlserver2005 数据依赖缓存
  4. 1046. 最后一块石头的重量
  5. 1122. 数组的相对排序
  6. geohash美团附近酒店搜索-技术方案
  7. freemarker ftl模板_Web开发人员必会的模板引擎技术之Freemarker
  8. jsp 使用base标签 没有作用_tag标签的概念,如何设置使用,它对网站seo优化有何作用...
  9. C语言将字符串s连接到t的后面,下列给定程序中,函数fun的功能是:先将字符串s中的字符按正序存放到字符串t..._考试资料网...
  10. 深入理解C++浮点数(float、double)类型数据比较、相等判断