Jackson使用

本人主要用Jackson来将json字符串转为java对象,若将java对象转为json则用Fastjson好一些。

文章目录

    • 一、依赖
    • 二、Json转Java对象
      • 1. json字符串转java对象
      • 2. json文件转java对象
    • 三、json和java属性字段差异问题
      • 1. java实体类中属性和json字段不一致
      • 2. json字段数量和java实体类属性数量不一致

一、依赖

    
    <dependency>
      <groupId>com.fasterxml.jackson.coregroupId>
      <artifactId>jackson-annotationsartifactId>
      <version>2.9.0version>
    dependency>

    <dependency>
      <groupId>com.fasterxml.jackson.coregroupId>
      <artifactId>jackson-databindartifactId>
      <version>2.9.0version>
    dependency>

二、Json转Java对象

1. json字符串转java对象

ObjectMapper mapper = new ObjectMapper();
 Xxxx xxxx = mapper.readValue(str, Xxxx.class);

2. json文件转java对象

ObjectMapper mapper = new ObjectMapper();
 Xxxx xxxx = mapper.readValue(file, Xxxx.class);

三、json和java属性字段差异问题

1. java实体类中属性和json字段不一致

在java类的属性上添加@JsonProperty(value = "xxx")

    @JsonProperty(value = "aaa_bbb")
    private int aaaBbb;

2. json字段数量和java实体类属性数量不一致

若java实体类的属性数量大于json字符串的属性数量没有任何问题,对应java对象属性的值为null;反之则报错,所以需要在实体类上面加上该注解:
@JsonIgnoreProperties(ignoreUnknown = true)

@JsonIgnoreProperties(ignoreUnknown = true)
public class Java {
}

你可能感兴趣的:(java)