泛型list转java对象
时间: 2023-11-21 14:56:57 浏览: 126
java 泛型精解 pdf 版
以下是将泛型list转换为Java对象的示例代码:
```java
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import java.util.List;
public class JsonUtil {
/**
* 将json字符串转换为Java对象
*
* @param jsonStr json字符串
* @param clazz Java对象的类
* @param <T> 泛型类型
* @return Java对象
*/
public static <T> T jsonToObject(String jsonStr, Class<T> clazz) {
return JSON.parseObject(jsonStr, clazz);
}
/**
* 将json字符串转换为泛型list
*
* @param jsonStr json字符串
* @param clazz Java对象的类
* @param <T> 泛型类型
* @return 泛型list
*/
public static <T> List<T> jsonToList(String jsonStr, Class<T> clazz) {
JSONArray jsonArray = JSON.parseArray(jsonStr);
return jsonArray.toJavaList(clazz);
}
/**
* 将Java对象转换为json字符串
*
* @param obj Java对象
* @return json字符串
*/
public static String objectToJson(Object obj) {
return JSON.toJSONString(obj);
}
/**
* 将泛型list转换为json字符串
*
* @param list 泛型list
* @return json字符串
*/
public static String listToJson(List<?> list) {
return JSON.toJSONString(list);
}
/**
* 将json字符串转换为JSONObject对象
*
* @param jsonStr json字符串
* @return JSONObject对象
*/
public static JSONObject jsonToJsonObject(String jsonStr) {
return JSON.parseObject(jsonStr);
}
/**
* 将JSONObject对象转换为Java对象
*
* @param jsonObject JSONObject对象
* @param clazz Java对象的类
* @param <T> 泛型类型
* @return Java对象
*/
public static <T> T jsonObjectToObject(JSONObject jsonObject, Class<T> clazz) {
return jsonObject.toJavaObject(clazz);
}
/**
* 将JSONObject对象转换为泛型list
*
* @param jsonObject JSONObject对象
* @param clazz Java对象的类
* @param <T> 泛型类型
* @return 泛型list
*/
public static <T> List<T> jsonObjectToList(JSONObject jsonObject, Class<T> clazz) {
JSONArray jsonArray = jsonObject.getJSONArray("list");
return jsonArray.toJavaList(clazz);
}
}
```
假设我们有一个Java对象类`Person`,它有两个属性`name`和`age`,我们可以使用以下代码将泛型list转换为Java对象:
```java
String jsonStr = "[{\"name\":\"张三\",\"age\":18},{\"name\":\"李四\",\"age\":20}]";
List<Person> personList = JsonUtil.jsonToList(jsonStr, Person.class);
```
其中,`jsonStr`是包含两个`Person`对象的json字符串,`Person.class`是`Person`类的类对象。`JsonUtil.jsonToList(jsonStr, Person.class)`将json字符串转换为泛型list,其中每个元素都是`Person`对象。
阅读全文