dependencies:

compile("com.fasterxml.jackson.core:jackson-annotations")
compile("com.fasterxml.jackson.core:jackson-core")
compile("com.fasterxml.jackson.core:jackson-databind")

examples:

public class JacksonSerializerTest {

    @Test
public void testJsonIgnoreProperties() throws IOException {
ObjectMapper mapper = new ObjectMapper();
PersonDTO dto = new PersonDTO();
dto.setAge(18);
dto.setName("Jack");
dto.setId(1); String jsonStr = mapper.writeValueAsString(dto);
PersonDTO dto1 = mapper.readValue(jsonStr, PersonDTO.class); assertTrue(dto1.getName() == null); String jsonStr1 = "{\"id\":1, \"name\":\"Jack\"}";
PersonDTO dto2 = mapper.readValue(jsonStr1, PersonDTO.class);
assertTrue(dto2.getName() == null);
} @Test
public void testJsonIgnore() throws IOException {
ObjectMapper mapper = new ObjectMapper();
PersonDTO dto = new PersonDTO();
dto.setId(2);
dto.setMale(true);
String jsonStr = mapper.writeValueAsString(dto);
PersonDTO dto1 = mapper.readValue(jsonStr, PersonDTO.class); assertTrue(dto1.getMale() == false);
} @Test
public void testCustomSerializer() throws IOException {
ObjectMapper mapper = new ObjectMapper();
PersonDTO dto = new PersonDTO();
dto.setId(3);
dto.setWeight(Double.valueOf(65.371)); String jsonStr = mapper.writeValueAsString(dto);
PersonDTO dto1 = mapper.readValue(jsonStr, PersonDTO.class); assertTrue(dto1.getWeight().equals(Double.valueOf(65.4)));
} @Test
public void testJsonNaming() throws IOException {
String nickName = "JK.";
ObjectMapper mapper = new ObjectMapper();
PersonDTO dto = new PersonDTO();
dto.setId(4);
dto.setNickName(nickName); String jsonStr = mapper.writeValueAsString(dto);
PersonDTO dto1 = mapper.readValue(jsonStr, PersonDTO.class); assertTrue(dto1.getNickName().equals(nickName));
} @JsonIgnoreProperties(value = {"name", "age"})
@Data
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
public static class PersonDTO {
private int id;
private String name;
private int age;
@JsonIgnore
private boolean male;
@JsonSerialize(using = CustomDoubleSerialize.class)
private Double weight; private String nickName; public boolean getMale() {
return this.male;
}
} public static class CustomDoubleSerialize extends JsonSerializer<Double> { private DecimalFormat df = new DecimalFormat("##.0"); @Override public void serialize(Double value, JsonGenerator jgen,SerializerProvider provider) throws IOException,JsonProcessingException { jgen.writeString(df.format(value)); } } }

fastxml Jackson annotation使用小记的更多相关文章

  1. fastxml Jackson JsonNode (ObjectNode) 转 List

    做环聊开发, Java 后台示例 用的 fastxml Jackson 解析json(擦, 狗屎, 不能支持下国产吗?) 有的json字段是数组, 发现不会解析了, 谷歌了下, 用以下方法可行,(不知 ...

  2. Jackson Annotation Examples

    1. Overview In this article, we’ll do a deep dive into Jackson Annotations. We’ll see how to use the ...

  3. 练习:将值是null的数据删除掉(剔除):com.fasterxml.jackson.annotation.JsonInclude;包

    练习:将值是null的数据删除掉(剔除):com.fasterxml.jackson.annotation.JsonInclude;包 例如,有数据是null,不想展示 { "statusC ...

  4. NoClassDefFound Error: com/fasterxml/jackson/annotation/JsonAutoDetect

    少了 jackson-annotation https://blog.csdn.net/qq_36497454/article/details/80461676

  5. JackSon学习笔记(一)

    概述 Jackson框架是基于Java平台的一套数据处理工具,被称为“最好的Java Json解析器”. Jackson框架包含了3个核心库:streaming,databind,annotation ...

  6. jackson java对象和json对象的互相转换

    概述 Jackson框架是基于Java平台的一套数据处理工具,被称为“最好的Java Json解析器”. Jackson框架包含了3个核心库:streaming,databind,annotation ...

  7. Java解析json(二):jackson

    Java解析json(二):jackson   官方参考 Jackson Home Page:https://github.com/FasterXML/jackson Jackson Wiki:htt ...

  8. JackSon fasterxml学习

    概述 Jackson框架是基于Java平台的一套数据处理工具,被称为"最好的JavaJson解析器".  Jackson框架包含了3个核心库:streaming,databind, ...

  9. 【jackson 异常】com.fasterxml.jackson.databind.JsonMappingException异常处理

    项目中,父层是Gene.java[基因实体]  子层是Corlib.java[文集库实体],一种基因对用多个文集库文章 但是在查询文集库这个实体的时候报错:[com.fasterxml.jackson ...

随机推荐

  1. Powershell使用真实的对象工作

    Powershell使用真实的对象工作 来源 https://www.pstips.net/powershell-work-with-reallife-objects.html 每一个Powershe ...

  2. hdu3068最长回文(Manacher算法)

    简单来说这是个很水的东西.有点dp的思想吧.推荐两个博客,很详细. http://blog.csdn.net/xingyeyongheng/article/details/9310555 http:/ ...

  3. 整理一些JavaScript时间处理扩展函数

    在JavaScript中,时间处理是经常需要用到的.最近想要慢慢建立自己的代码库,整理了几个之前用到的js处理时间的函数,发出来跟大家分享一下,以后的使用中会不断增加和修改代码库. 把字符串转换为日期 ...

  4. 妮可妮可妮 [Hash]

    妮可妮可妮 题目描述 小P特别喜欢动画Love Live中的角色妮可,每当他听到妮可说"niconiconi"时,他总会感到特别兴奋,还会露出绅士般的微笑. 作为一名理论计算机科学 ...

  5. 取消eslint对指定代码进行代码检测

    eslint配置了不允许使用alert,但是有个需求需要用到. //eslint-disable-next-line alert('测试'); 如上,即可跳过当前行代码检查了

  6. express添加拦截器

    var express = require('express')   , routes = require('./routes')   , http = require('http')   , pat ...

  7. bzoj1036: [ZJOI2008]树的统计Count link-cut-tree版

    题目传送门 这 算是link-cut-tree裸题啊 不过以前好像没有写过单点修改.............. #include<cstdio> #include<cstring&g ...

  8. 【洛谷 P4886】 快递员 (点分治)

    这题因为一些小细节还是\(debug\)了很久...不过我第一次用脚本对拍,不亏. 先随便找一个点作为根,算出答案,即所有点对到这个点的距离和的最大值,并记录所有距离最大的点对.如果这个点在任意一个距 ...

  9. [bzoj1770][Usaco2009 Nov]lights 燈——Gauss消元法

    题意 给定一个无向图,初始状态所有点均为黑,如果更改一个点,那么它和与它相邻的点全部会被更改.一个点被更改当它的颜色与之前相反. 题解 第一道Gauss消元题.所谓gauss消元,就是使用初等行列式变 ...

  10. Jackson对多态和多子类序列化的处理配置

    目录 Jackson 多态类型的处理 Jackson Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 多态类型的处理 jacks ...