java将json字符串转为集合对象数组
时间: 2025-05-04 22:06:14 浏览: 42
### Java 将 JSON 字符串转换为集合对象数组
在Java中,可以利用Jackson或Gson这样的第三方库轻松实现JSON字符串到集合对象数组的转换。下面分别给出这两种方式的具体实例。
#### 使用 Gson 实现转换
为了能够使用Gson完成这一操作,在项目里需引入Gson的相关依赖[^3]。一旦设置好环境,则可以通过如下代码片段展示如何执行转换:
```java
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;
import java.util.List;
import java.util.Map;
public class JsonToCollectionArray {
public static void main(String[] args) {
String jsonString = "[{\"key\":\"value\"},{\"name\":\"example\",\"number\":123}]";
Gson gson = new Gson();
Type listType = new TypeToken<List<Map<String, Object>>>(){}.getType();
List<Map<String, Object>> mapList = gson.fromJson(jsonString, listType);
System.out.println(mapList.toString());
}
}
```
这段程序定义了一个`jsonString`变量保存待解析的数据,并通过指定目标类型的构造方法创建了相应的`Type`实例用于指导反序列化过程。最后调用`gson.fromJson()`函数实现了从JSON格式向Java中的列表映射结构转变的过程。
#### 使用 Jackson 实现相同功能
对于偏好Jackson库的情况,同样先确认已添加必要的Maven或其他形式的构建工具配置项以导入所需jar包。之后可参照下述样例代码来进行实际开发工作:
```java
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
import java.util.List;
import java.util.Map;
public class JsonToCollectionArrayWithJackson {
private static final ObjectMapper objectMapper = new ObjectMapper();
public static void main(String[] args) throws IOException {
String jsonString = "[{\"key\":\"value\"}, {\"name\":\"example\", \"number\": 123}]";
try{
List<Map<String,Object>> mapList = objectMapper.readValue(
jsonString,
new TypeReference<List<Map<String, Object>>>(){}
);
System.out.println(mapList.toString());
} catch (IOException e){
throw new RuntimeException(e.getMessage(),e);
}
}
}
```
上述例子展示了借助于Jackson框架下的ObjectMapper类所提供的API接口——readValue(),配合自定义泛型参数化的TypeReference来达成同样的目的。值得注意的是异常处理部分,确保任何可能发生的IO错误都能被适当捕获并报告给上层逻辑[^1]。
阅读全文
相关推荐


















