Android中自带有json处理的库,同时有很多库能方便的处理Json. 并且相关文章也很多,是一个非常基础的功能。
但是Java处理Json,介绍的较少,这里介绍一下Java中处理Json.

Java中的JSON处理库

在Java中,处理JSON数据的常用库包括:

Jackson:功能强大,支持序列化/反序列化。
Gson:轻量级,简单易用。
org.json:基础功能库,处理JSON数据直接而高效。
以下是使用Jackson库处理JSON数据的基本步骤:

使用Jackson解析JSON

添加依赖
首先,确保你的项目中包含了Jackson的依赖。以下是一个使用Maven管理项目依赖的示例:

com.fasterxml.jackson.core jackson-databind 2.13.3 创建JSON字符串 假设你有一个JSON字符串如下:

{
“name”: “John”,
“age”: 30,
“isStudent”: false
}
使用ObjectMapper解析JSON
Jackson的核心类是ObjectMapper,它可以将JSON字符串转换为Java对象,或者将Java对象转换为JSON字符串。

以下是一个示例代码,演示如何使用Jackson解析上述JSON字符串:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonParsingExample {
public static void main(String[] args) throws Exception {
String json = "{\"name\":\"John\",\"age\":30,\"isStudent\":false}";
ObjectMapper objectMapper = new ObjectMapper();
Person person = objectMapper.readValue(json, Person.class);
System.out.println("Name: " + person.getName());
System.out.println("Age: " + person.getAge());
System.out.println("Is Student: " + person.isStudent());
}
}

class Person {
private String name;
private int age;
private boolean isStudent;

// Getters and setters
}

在上述代码中,我们首先定义了一个Person类,其中包含与JSON字符串中相同的字段。然后,我们使用ObjectMapper的readValue方法将JSON字符串转换为Person对象。

使用Jackson生成JSON

与解析JSON类似,使用Jackson生成JSON数据也非常简单。以下是一个示例代码,演示如何将Java对象转换为JSON字符串:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonGenerationExample {
public static void main(String[] args) throws Exception {
Person person = new Person();
person.setName("John");
person.setAge(30);
person.setStudent(false);

ObjectMapper objectMapper = new ObjectMapper();
String json = objectMapper.writeValueAsString(person);
System.out.println(json);
}
}

class Person {
private String name;
private int age;
private boolean isStudent;

// Getters and setters
}

在上述代码中,我们首先创建了一个Person对象,并设置了其属性。然后,我们使用ObjectMapper的writeValueAsString方法将Person对象转换为JSON字符串。