jackson的简单使用

2025-10-23 06:00:04

1、ObjectMapper类是Jackson库的主要类。这里需要引入到项目中。

    <dependency>            <groupId>com.fasterxml.jackson.core</groupId>            <artifactId>jackson-databind</artifactId>            <version>2.8.3</version>        </dependency>

jackson的简单使用

2、jsonString转javaBean对象时忽略大小写及下划线

String data = "{\"pAy_cOdE\":\"123\",\"Memo\":\"001\"}";

UppVirAccountCloseVo copyVo = JSON.parseObject(data, UppVirAccountCloseVo.class);

fastjson对属性的大小方法进行封装,对大小写及下划线都可以转换。结果: payCode=123

jackson的简单使用

3、String sbean  = JSON.toJSONString(copyVo);

System.out.println(sbean);

fastjson将对象转换json打印的是对象属性名称一致的。对

@JsonProperty(value = "")失效

jackson的简单使用

4、javaBean转json字符串,没有的属性默认不显示,并且对注解@JsonProperty(value = "")失效,因为@JsonProperty注解是jackson包的注解,fastjson不能使用。

vo.setMemo("");//设置为空字符串则打印空字符串。

String sBean = JSON.toJSONString(vo);{"memo":"memo","payCode":"123"}

jackson的简单使用

5、javaBean转json字符串,没有的属性默认null,注解和objectMapper都是jackSon包下的方法。

@JsonInclude(Include.NON_EMPTY)

@JsonProperty(value = "Name")序列化时为Name属性

Include.Include.ALWAYS (Default / 都参与序列化) 

Include.NON_DEFAULT(当Value 为默认值的时候不参与,如Int a; 当 a=0 的时候不参与)

Include.NON_EMPTY(当Value 为“” 或者null 不输出)

Include.NON_NULL(当Value 为null 不输出)

jackson的简单使用

6、ObjectMapper objectMapper = new ObjectMapper();

objectMapper.writeValueAsString(vo);//打印没有值的属性都为null,如果不想参与序列化,则使用注解JsonInclude。

{"id":null","PayCode":"123","Status":false,"Memo":"memo"}

jackson的简单使用

7、如果想让javabean对象的属性序列化时是另外的名称可以使用,@JsonProperty(value = "Status")注解

jackson的简单使用

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢