Hutool的JSONUtil
时间: 2025-05-05 18:02:25 浏览: 54
<think>好的,我现在要回答用户关于Hutool库中JSONUtil工具类的功能和用法的问题。首先,我需要回忆Hutool的文档内容,特别是JSONUtil的相关部分。记得JSONUtil主要是简化JSON操作,比如对象转JSON字符串、解析JSON等。
接下来,用户需要具体的功能和使用方法,所以我要列出主要功能点,比如序列化、反序列化、格式化等。同时,用户提到的例子中有JsonUtil,但Hutool中正确的类名是JSONUtil,可能需要指出这一点,避免混淆。
然后,要确保每个功能点都有对应的代码示例,比如使用toJsonStr方法将对象转为JSON字符串,用parseObj解析JSON对象。还要注意代码的正确性,比如处理日期可能需要自定义格式,或者使用不同的解析选项。
用户可能还会关心如何读取和写入JSON文件,这部分需要包含文件操作的示例,比如readJSONObject和writeJSON方法。此外,格式化输出也是一个常见需求,要展示如何使用toJsonPrettyStr美化JSON。
需要注意引用用户提供的参考内容,其中提到了Prop工具类,但当前问题集中在JSONUtil,所以引用标识要正确对应。最后,生成相关问题时要围绕JSON处理的其他方面,比如异常处理、性能优化、其他工具类对比等,帮助用户扩展了解。
整个过程中,要确保使用正确的中文表达,LaTeX格式正确,没有行内公式,独立公式用$$...$$。同时,检查代码块是否使用正确的语法高亮,比如Python示例中的代码结构是否正确。最后,确保回答结构清晰,分点说明,并自然融入引用标记。</think>### Hutool JSONUtil 功能及使用方法详解
Hutool的$JSONUtil$是JSON处理工具类,提供了简化JSON序列化与反序列化的方法,以下是核心功能及示例:
---
#### 一、核心功能
1. **对象与JSON互转**
```java
// 对象转JSON字符串
User user = new User("张三", 25);
String jsonStr = JSONUtil.toJsonStr(user); // {"name":"张三","age":25}
// JSON字符串转对象
User parsedUser = JSONUtil.toBean(jsonStr, User.class);
```
2. **JSON解析与构建**
```java
// 解析JSON对象
JSONObject jsonObj = JSONUtil.parseObj("{\"key\":\"value\"}");
String value = jsonObj.getStr("key"); // "value"
// 动态构建JSON
JSONObject newObj = JSONUtil.createObj()
.set("id", 1001)
.set("status", true);
```
3. **日期格式化处理**
```java
// 自定义日期格式
JSONUtil.toJsonStr(user, new JSONConfig().setDateFormat("yyyy-MM-dd"));
```
4. **JSON文件读写**
```java
// 读取JSON文件
JSONObject fileJson = JSONUtil.readJSONObject(new File("data.json"), Charset.UTF_8);
// 写入JSON文件
JSONUtil.writeJSON(new File("output.json"), jsonObj, Charset.UTF_8);
```
5. **格式化输出**
```java
String prettyJson = JSONUtil.toJsonPrettyStr(jsonStr); // 带缩进的美化格式
```
---
#### 二、特殊场景处理
1. **忽略空值字段**
```java
JSONConfig config = new JSONConfig().setIgnoreNullValue(true);
String json = JSONUtil.toJsonStr(obj, config);
```
2. **键名下划线转换**
```java
// 对象字段userName转为user_name
JSONConfig config = new JSONConfig().setKeyTransCase(KeyTransCase.UNDERSCORE);
```
3. **XML互转**
```java
String xml = JSONUtil.toXmlStr(jsonObj); // JSON转XML
JSONObject xmlJson = JSONUtil.xmlToJson(xml); // XML转JSON
```
---
#### 三、引用说明
Hutool的$JSONUtil$通过链式调用和配置参数简化了复杂场景处理,其文件读写方法底层基于$IoUtil$实现高效流操作[^1]。
---
阅读全文
相关推荐


















