C/C++教程

Jackson 简单使用

本文主要是介绍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等。该工具知晓即可,并不需要去实现。

这篇关于Jackson 简单使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!