java jsonString 转list
时间: 2024-06-21 17:02:58 浏览: 153
在Java中,将JSON字符串转换为List通常涉及到使用第三方库如Gson、Jackson或者org.json等。这里以Gson为例,因为它是常用的JSON处理库。
假设你有一个包含JSON数组的字符串,你可以按照以下步骤将其转换为List:
```java
import com.google.gson.Gson;
// 假设你的JSON字符串如下
String jsonString = "[{'name': 'John', 'age': 30}, {'name': 'Jane', 'age': 25}]";
// 首先,你需要一个Gson对象
Gson gson = new Gson();
// 使用Gson的fromJson方法将JSON转换为List<Map<String, Object>>
List<Map<String, Object>> list = gson.fromJson(jsonString, new TypeToken<List<Map<String, Object>>>(){}.getType());
// 现在,你可以遍历这个List来访问JSON对象
for (Map<String, Object> item : list) {
String name = (String) item.get("name");
int age = (int) item.get("age");
System.out.println(name + " is " + age + " years old.");
}
```
相关问题
java json String 转 list
要将Java中的JSON字符串转换为List列表,可以使用fastjson库的JSONArray类中的parseArray方法。首先,需要在代码中引入fastjson的jar包,然后按照下面的步骤进行操作:
1. 新建一个实体类,根据JSON数组的字段定义实体类的属性。可以使用@Data注解来自动生成getter和setter方法,使代码更加简洁。以下是一个示例实体类的代码:
```java
import lombok.Data;
import java.io.Serializable;
@Data
public class ImageInfoVO implements Serializable {
private static final long serialVersionUID = 1L;
private Integer artifactCount;
private String creationTime;
private Integer id;
private String name;
private Integer projectId;
private Integer pullCount;
private String updateTime;
}
```
2. 使用JSONArray类的parseArray方法将JSON字符串转换为List列表。在调用parseArray方法时,需要传入JSON字符串和实体类的class类型作为参数。以下是一个示例代码:
```java
import com.alibaba.fastjson.JSONArray;
import java.util.List;
String res = "[\n" +
" {\n" +
" \"artifact_count\": 3,\n" +
" \"creation_time\": \"2022-04-22T08:13:41.746Z\",\n" +
" \"id\": 30,\n" +
" \"name\": \"base/statistic-service-base\",\n" +
" \"project_id\": 2,\n" +
" \"pull_count\": 0,\n" +
" \"update_time\": \"2022-04-22T08:13:41.746Z\"\n" +
" },\n" +
" {\n" +
" \"artifact_count\": 1,\n" +
" \"creation_time\": \"2022-04-22T08:12:19.763Z\",\n" +
" \"id\": 29,\n" +
" \"name\": \"base/tomcat_ra\",\n" +
" \"project_id\": 2,\n" +
" \"pull_count\": 0,\n" +
" \"update_time\": \"2022-04-22T08:12:19.763Z\"\n" +
" }]";
List<ImageInfoVO> jsonList = JSONArray.parseArray(res, ImageInfoVO.class);
```
这样,你就可以将Java中的JSON字符串成功转换为List列表了。
java json String转list
可以使用 Jackson 库将 JSON 字符串转换为 Java 对象。
假设你的 JSON 字符串如下:
```
String jsonString = "[{\"name\":\"Alice\",\"age\":20},{\"name\":\"Bob\",\"age\":25}]";
```
那么可以通过以下代码将其转换为 List:
```
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, Object>> list = objectMapper.readValue(jsonString, new TypeReference<List<Map<String, Object>>>() {});
```
解释一下代码:
- `ObjectMapper` 是 Jackson 库中的一个重要类,用于将 Java 对象转换为 JSON 字符串或反向转换。
- `TypeReference` 是 Jackson 库中的一个泛型类,用于指定反向转换的目标类型。
- `readValue` 方法将 JSON 字符串转换为 Java 对象,第一个参数是 JSON 字符串,第二个参数是目标类型的引用。
这样就可以将 JSON 字符串转换为 List<Map<String, Object>>,其中每个 Map 表示一个 JSON 对象,Map 的 key 表示 JSON 对象的属性名,value 表示属性值。
阅读全文