Java怎么处理JSON序列化与反序列化

avatar
作者
筋斗云
阅读量:0

在Java中,可以使用Jackson库来处理JSON的序列化和反序列化。下面是一个简单的例子:

首先,需要在Maven或Gradle中添加Jackson的依赖项:

Maven:

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

Gradle:

implementation 'com.fasterxml.jackson.core:jackson-databind:2.12.3' 

然后,可以使用以下代码将Java对象序列化为JSON字符串:

import com.fasterxml.jackson.databind.ObjectMapper;  public class JsonSerializationExample {     public static void main(String[] args) throws Exception {         // 创建一个Java对象         Person person = new Person("John", 25);          // 创建ObjectMapper对象         ObjectMapper objectMapper = new ObjectMapper();          // 将Java对象序列化为JSON字符串         String jsonString = objectMapper.writeValueAsString(person);          // 打印JSON字符串         System.out.println(jsonString);     } } 

上述代码将输出以下JSON字符串:

{"name":"John","age":25} 

接下来,可以使用以下代码将JSON字符串反序列化为Java对象:

import com.fasterxml.jackson.databind.ObjectMapper;  public class JsonDeserializationExample {     public static void main(String[] args) throws Exception {         // JSON字符串         String jsonString = "{\"name\":\"John\",\"age\":25}";          // 创建ObjectMapper对象         ObjectMapper objectMapper = new ObjectMapper();          // 将JSON字符串反序列化为Java对象         Person person = objectMapper.readValue(jsonString, Person.class);          // 打印Java对象的属性         System.out.println(person.getName());         System.out.println(person.getAge());     } } 

上述代码将输出以下内容:

John 25 

需要注意的是,在进行反序列化时,需要提供目标Java类的类型(上例中为Person.class)。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!