jsonarray怎么转成list
时间: 2023-10-20 07:36:49 浏览: 99
要将JsonArray转换为List,你可以使用以下方法之一:
1. 利用Jackson库进行转换:
首先,导入Jackson库的依赖,在代码中使用ObjectMapper类来进行转换。以下是示例代码:
```
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.core.type.TypeReference;
// 假设 jsonArray 是 JsonArray 对象
ObjectMapper objectMapper = new ObjectMapper();
List<Map<String, String>> list = objectMapper.readValue(jsonArray.toString(), new TypeReference<List<Map<String, String>>>(){});
```
2. 利用Gson库进行转换:
同样需要导入Gson库的依赖,并使用Gson类来进行转换。以下是示例代码:
```
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
// 假设 jsonArray 是 JsonArray 对象
Gson gson = new Gson();
List<Map<String, String>> list = gson.fromJson(jsonArray.toString(), new TypeToken<List<Map<String, String>>>(){}.getType());
```
3. 手动解析JsonArray:
如果不想使用第三方库,你可以手动解析JsonArray,将每个元素转换为Map对象并添加到List中。以下是示例代码:
```
import org.json.JSONArray;
import org.json.JSONObject;
// 假设 jsonArray 是 JsonArray 对象
List<Map<String, String>> list = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
Map<String, String> map = new HashMap<>();
Iterator<String> keys = jsonObject.keys();
while (keys.hasNext()) {
String key = keys.next();
String value = jsonObject.getString(key);
map.put(key, value);
}
list.add(map);
}
```
这些方法可以将JsonArray转换为List<Map<String, String>>,其中每个Map对象表示JsonArray中的一个元素。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
阅读全文