Java JSONObject 转 List<T>:解析 JSON 数组并映射为对象列表
要将一个 JSONObject 转换成 List
以下是一个示例代码:
import org.json.JSONArray;
import org.json.JSONObject;
public class JsonUtils {
public static <T> List<T> jsonArrayToList(JSONArray jsonArray, Class<T> clazz) {
List<T> list = new ArrayList<>();
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.optJSONObject(i);
if (jsonObject != null) {
T object = jsonObjectToObject(jsonObject, clazz);
if (object != null) {
list.add(object);
}
}
}
return list;
}
private static <T> T jsonObjectToObject(JSONObject jsonObject, Class<T> clazz) {
T object = null;
try {
object = clazz.newInstance();
// 根据实际情况,使用反射或其他方式将JSONObject的属性值设置到对象中
// 例如:object.setXXX(jsonObject.optXXX('key'));
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();
}
return object;
}
}
使用示例:
// 假设jsonObject是要转换的JSONObject对象,T是要转换成的对象类型
JSONArray jsonArray = jsonObject.getJSONArray('arrayKey');
List<T> list = JsonUtils.jsonArrayToList(jsonArray, T.class);
请根据你的实际需求修改 JsonUtils 中的 jsonObjectToObject 方法,将 JSONObject 的属性值设置到具体的对象中。
原文地址: https://www.cveoy.top/t/topic/qw0Q 著作权归作者所有。请勿转载和采集!