cn.hutool hutool-json
时间: 2025-01-17 17:00:00 浏览: 72
### Hutool JSON 使用方法
#### 创建 `JSONObject` 对象
可以利用多种方式创建 `JSONObject` 实例。一种常见的方式是从文件读取 JSON 数据并将其解析为 `JSONObject`。
```java
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
public class JsonExample {
public static void main(String[] args) {
JSONObject json = JSONUtil.readJSONObject(new File("./data.json"), Charset.forName("utf-8"));
System.out.println(json);
}
}
```
此代码片段展示了如何通过指定路径加载本地磁盘上的 JSON 文件,并采用 UTF-8 编码来确保字符集兼容性[^1]。
#### 解析 JSON 字符串到对象
除了从文件中读取外,还可以直接操作 JSON 格式的字符串内容。下面的例子说明了怎样把简单的 JSON 字符串转化为 `JSONObject`:
```java
String jsonString = "{\"name\":\"曼陀罗\",\"age\":18}";
JSONObject jsonObj = JSONUtil.parseObj(jsonString );
System.out.println(jsonObj.getStr("name")); // 输出 曼陀罗
System.out.println(jsonObj.getInt("age")); // 输出 18
```
这段程序先定义了一个包含两个键值对的 JSON 字符串,接着调用了 `parseObj()` 方法完成了解析工作[^2]。
#### 序列化 Java Bean 至 JSON
对于已有的实体类实例,可以通过 `toBean()` 函数轻松实现反序列化过程;同样地,如果想要将一个普通的 POJO 类型的对象转成对应的 JSON 表达形式,则可借助于 `toJsonStr()` 或者其他相关的方法来进行正向转换。
```java
User user = new User();
user.setName("Tom");
user.setAge(23);
// 转换成json字符串
String jsonStringFromObject = JSONUtil.toJsonStr(user);
System.out.println(jsonStringFromObject);
// 反序列化回对象
User parsedUser = JSONUtil.toBean(jsonStringFromObject, User.class);
System.out.println(parsedUser.getName()); // Tom
System.out.println(parsedUser.getAge()); // 23
```
上述例子中的 `User` 是自定义的数据传输对象 (DTO),这里省略了具体的属性声明部分。该段落介绍了双向映射的概念——即可以从现有的业务逻辑层模型快速生成适合网络传输或持久化的 JSON 结构,反之亦然。
阅读全文
相关推荐

















