使用fastjson将object对象转换为List<Map<String,Object>>
时间: 2023-10-14 09:17:43 浏览: 128
使用fastjson将Object对象转换为List<Map<String, Object>>可以通过fastjson的JSON工具类的一些方法来实现,具体实现代码如下:
```java
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class ObjectToListMapConverter {
public static List<Map<String, Object>> convert(Object obj) {
Class<?> clazz = obj.getClass();
Field[] fields = clazz.getDeclaredFields();
JSONObject jsonObject = (JSONObject) JSON.toJSON(obj);
List<Map<String, Object>> result = new ArrayList<>();
for (Field field : fields) {
String fieldName = field.getName();
Object fieldValue = jsonObject.get(fieldName);
Map<String, Object> map = new HashMap<>();
map.put(fieldName, fieldValue);
result.add(map);
}
return result;
}
}
```
这个方法也是将一个Object对象的所有字段名和值都转换成了一个Map,然后再将这些Map组成一个List返回。这里使用了fastjson的toJSON()方法将Object对象转换成了JSONObject对象,然后再通过JSONObject对象获取字段名和值。
阅读全文