JSONObject.parseObject会转换list吗
时间: 2025-05-30 18:14:05 浏览: 16
### JSONObject.parseObject 方法支持字符串转换为 List 类型
`JSONObject.parseObject` 可以用于将 JSON 字符串解析成不同类型的 Java 对象,其中包括 `List` 类型。当输入的 JSON 字符串表示的是数组结构时,该方法能够将其正确地映射到 Java 的 `List` 集合。
下面是一个具体的例子来展示如何使用此功能:
```java
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
public class JsonToListExample {
public static void main(String[] args) {
String jsonString = "[\"apple\", \"banana\", \"orange\"]";
// 将 JSON 数组字符串转化为 List<String>
List<String> fruitList = JSON.parseArray(jsonString, String.class);
System.out.println(fruitList); // 输出: [apple, banana, orange]
}
}
```
需要注意的是,在 Fastjson 库中,对于列表形式的数据通常会先通过 `JSONArray` 来处理再进一步转化为目标集合类型。上述代码片段中的 `parseArray()` 是一种简化方式,它实际上调用了底层的 `parseObject()` 函数并指定了目标类型参数[^1]。
此外,如果要将复杂的 JSON 数据(比如嵌套的对象或混合数据)映射至自定义实体类组成的列表,则可以指定第二个泛型参数作为期望的目标类型:
```java
// 假设有如下 User 类
class User {
private int id;
private String name;
// getters and setters...
}
// 解析包含多个用户的 JSON 数组字符串为 List<User>
String usersJson = "[{\"id\":1,\"name\":\"Alice\"},{\"id\":2,\"name\":\"Bob\"}]";
List<User> userList = JSON.parseArray(usersJson, User.class);
for (User user : userList) {
System.out.printf("ID=%d Name=%s%n", user.getId(), user.getName());
}
```
阅读全文
相关推荐



















