欢迎光临散文网 会员登陆 & 注册

java 中的 Json 模块怎么使用?

2023-04-20 07:49 作者:Java一桶天下  | 我要投稿

在 Java 中,有很多 Json 库可供使用,比如 Jackson、Gson 等。这些库都提供了将 Java 对象序列化为 Json 字符串和将 Json 字符串反序列化为 Java 对象的方法。下面以 Jackson 为例介绍 Json 的使用方法:

首先,需要在项目中引入 Jackson 的依赖。如果是使用 Maven,可以在 pom.xml 文件中添加以下依赖:

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

接下来,就可以使用 Jackson 进行 Json 的序列化和反序列化了。以序列化为例,假设有一个名为 Person 的类:

public class Person {    private String name;    private int age;    public Person(String name, int age) {        this.name = name;        this.age = age;    }    public String getName() {        return name;    }    public int getAge() {        return age;    }}

我们可以使用 Jackson 将一个 Person 对象序列化为 Json 字符串:

ObjectMapper objectMapper = new ObjectMapper();Person person = new Person("Alice", 20);String json = objectMapper.writeValueAsString(person);System.out.println(json);

输出结果为:

{"name":"Alice","age":20}

反序列化同样也很简单,假设有一个 Json 字符串:

{"name":"Bob","age":30}

我们可以使用 Jackson 将它反序列化为一个 Person 对象:

String json = "{\"name\":\"Bob\",\"age\":30}";Person person = objectMapper.readValue(json, Person.class);System.out.println(person.getName() + " " + person.getAge());

输出结果为:

Bob 30

需要注意的是,使用 Jackson 进行 Json 的序列化和反序列化时,需要使用 ObjectMapper 对象。该对象提供了很多方法,可以自定义序列化和反序列化的行为。同时,需要注意 Json 字符串的格式,比如在字符串中使用双引号表示属性名和属性值,属性名必须用双引号括起来。

java 中的 Json 模块怎么使用?的评论 (共 条)

分享到微博请遵守国家法律