hutool json工具类
时间: 2025-05-03 18:42:50 浏览: 24
### Hutool JSON 工具类的使用方法及示例
Hutool 是一个非常实用的 Java 工具库,其中 `cn.hutool.json` 包提供了丰富的功能来处理 JSON 数据。以下是关于其主要工具类和用法的具体说明。
#### 1. **JSONUtil 类**
`JSONUtil` 提供了一系列静态方法,可以快速实现 JSON 的解析、序列化和反序列化操作。
- **从文件中读取 JSON 对象**
可以通过 `JSONUtil.readJSONObject(File file, Charset charset)` 方法直接从文件中加载 JSON 并转换为 `JSONObject` 实例[^3]。
```java
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
public class JsonExample {
public static void main(String[] args) throws Exception {
JSONObject jsonObject = JSONUtil.readJSONObject(new File("data.json"), java.nio.charset.StandardCharsets.UTF_8);
System.out.println(jsonObject.toStringPretty());
}
}
```
- **将对象转换为 JSON 字符串**
利用 `JSONUtil.toJsonStr(Object obj)` 可以轻松地将任意 Java 对象转化为 JSON 格式的字符串[^4]。
```java
import cn.hutool.json.JSONUtil;
public class ObjectToJsonExample {
public static void main(String[] args) {
User user = new User();
user.setName("Alice");
user.setAge(25);
String jsonString = JSONUtil.toJsonStr(user);
System.out.println(jsonString);
}
static class User {
private String name;
private int age;
// Getters and Setters...
}
}
```
- **忽略特定字段**
如果需要在序列化过程中排除某些字段,则可以在该字段前加 `transient` 关键字。
```java
static class User {
private String name;
transient private int age; // 忽略此字段
// Getters and Setters...
}
```
#### 2. **JSONObject 和 JSONArray**
这两个类分别表示 JSON 中的对象结构和数组结构。
- **创建并操作 JSONObject**
可以直接通过构造函数或者工厂方法生成 `JSONObject` 实例,并对其进行增删改查操作[^1]。
```java
import cn.hutool.json.JSONObject;
public class CreateJsonObjectExample {
public static void main(String[] args) {
JSONObject jsonObject = new JSONObject(true);
jsonObject.put("name", "Bob");
jsonObject.put("age", 30);
System.out.println(jsonObject.toStringPretty());
}
}
```
- **遍历 JSONArray**
对于列表型的数据,可借助 `JSONArray` 来存储多个同类型的子项[^2]。
```java
import cn.hutool.json.JSONArray;
public class JsonArrayExample {
public static void main(String[] args) {
JSONArray jsonArray = new JSONArray();
jsonArray.add("Apple");
jsonArray.add("Banana");
for (int i = 0; i < jsonArray.size(); i++) {
System.out.println(jsonArray.getString(i));
}
}
}
```
---
### 总结
上述内容涵盖了 Hutool 中常用的 JSON 处理方式,包括但不限于对象与 JSON 的相互转化、自定义字段过滤等功能。这些特性极大地简化了开发者的工作流程,提升了编码效率。
阅读全文
相关推荐

















