Java 解析 JSON 字符串381


JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,在 Web 开发中被广泛使用。它是一种基于文本的格式,表示对象、数组和原始值。Java 是用于 Web 开发的流行编程语言,它提供了解析和处理 JSON 字符串的强大功能。

使用 Jackson 库解析 JSON

Jackson 是一个 Java 库,用于将 Java 对象与 JSON 字符串之间进行转换。它是一个功能强大且易于使用的库,支持多种 JSON 特性,包括嵌套对象、数组和类型化值。
import ;
import ;
public class JsonExample {
public static void main(String[] args) throws JsonProcessingException {
// 创建 ObjectMapper 对象
ObjectMapper mapper = new ObjectMapper();
// JSON 字符串
String json = "{name:John Doe, age:30, address:{street:Main St, city:New York}}";
// 解析 JSON 字符串并转换为 Java 对象
Person person = (json, );
// 打印 Java 对象
(()); // John Doe
(()); // 30
}
// 定义 Person 类
public static class Person {
private String name;
private int age;
private Address address;
// 省略 getter 和 setter 方法
}
// 定义 Address 类
public static class Address {
private String street;
private String city;
// 省略 getter 和 setter 方法
}
}

在这个示例中,我们使用 ObjectMapper 将 JSON 字符串解析为一个 Person 对象。ObjectMapper 是 Jackson 中用于处理 JSON 的主要类,它提供了一系列方法来解析、序列化和转换 JSON 数据。

使用 Gson 库解析 JSON

Gson 是另一个流行的 Java 库,用于处理 JSON。它提供了一个简单的 API,可以轻松地解析和序列化 JSON 数据。
import ;
public class GsonExample {
public static void main(String[] args) {
// 创建 Gson 对象
Gson gson = new Gson();
// JSON 字符串
String json = "{name:John Doe, age:30, address:{street:Main St, city:New York}}";
// 解析 JSON 字符串并转换为 Java 对象
Person person = (json, );
// 打印 Java 对象
(()); // John Doe
(()); // 30
}
// 定义 Person 类
public static class Person {
private String name;
private int age;
private Address address;
// 省略 getter 和 setter 方法
}
// 定义 Address 类
public static class Address {
private String street;
private String city;
// 省略 getter 和 setter 方法
}
}

在这个示例中,我们使用 Gson 将 JSON 字符串解析为一个 Person 对象。Gson 提供了一个简单的方法 fromJson(),可用于将 JSON 字符串转换为指定的 Java 类型。

使用 Java 内置的 JSON 处理程序

在 Java 12 及更高版本中,Java 平台提供了内置的 JSON 处理程序,允许开发者使用 和 来解析 JSON 数据,而无需外部库。
import ;
import ;
public class BuiltInJsonExample {
public static void main(String[] args) {
// JSON 字符串
String json = "{name:John Doe, age:30, address:{street:Main St, city:New York}}";
// 解析 JSON 字符串
Map map = (json);
// 访问 Java 对象
(("name")); // John Doe
(("age")); // 30
// 访问嵌套对象
Map address = (Map) ("address");
(("street")); // Main St
(("city")); // New York
}
}

在这个示例中,我们使用 和 () 方法解析 JSON 字符串。内置的 JSON 处理程序提供了一种简单且轻量级的解析方式,适用于处理小型 JSON 数据。

Java 提供了多种选项来解析 JSON 字符串。Jackson、Gson 和 Java 内置的 JSON 处理程序都是流行的库和功能,具有不同的优点和缺点。开发者可以选择最适合其特定需求的解决方案。

2024-10-12


上一篇:数组:Java 中有用的数据结构

下一篇:Java 项目代码的初学者指南