Jackson 简单使用

Jackson 简单使用

  • 序列化
    • 将对象转换为json或者xml格式或其他格式的报文
  • 反序列化
    • 将json或者其他格式的报文转换为Java对象

在Springmvc框架中,默认使用的是Jackson来对请求数据和相应报文分别进行反序列化和序列化,带有@ResponseBody注解的请求的返回对象,都会被序列化为json报文格式。

简单实用jackson

依赖导入

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>${jackson.version}</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>${jackson.version}</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>${jackson.version}</version>
</dependency>

在本文的案例中,第一个依赖是必备依赖,其他的依赖可以暂时不用。

// 反序列化
ObjectMapper objectMapper = new ObjectMapper();
String carJson ="{ \"brand\" : \"Mercedes\", \"doors\" : 5 }";
Car car = objectMapper.readValue(carJson, Car.class);
System.out.println(car.toString());

// 序列化
Car car2 = new Car();
car2.setBrand("奥迪");
car2.setDoors(4);
String jsonCar = objectMapper.writeValueAsString(car2);
System.out.println(jsonCar);

实用ObjectMapper对象的readValue进行反序列化对象,而writeValue方法可以序列化,可以输出到不同的目标中。

以下为输出结果

jackson.Car@4d41cee
{"brand":"奥迪","doors":4}

总结

Jackson仅仅是一种用于序列化的工具,与其具有相同功能的有fast json等。该工具知晓即可,并不需要去实现。

上一篇:计算机网络专业术语系列--Chapter 1


下一篇:tcpdump wireshark 实用过滤表达式(针对ip、协议、端口、长度和内容) 实例介绍