将object对象转换成map的工具类
时间: 2023-04-06 07:01:55 浏览: 164
可以使用Java 8中的Stream API来将object对象转换成map的工具类。具体实现可以参考以下代码:
```
public static Map<String, Object> objectToMap(Object obj) {
return Arrays.stream(obj.getClass().getDeclaredFields())
.peek(field -> field.setAccessible(true))
.collect(Collectors.toMap(Field::getName, field -> {
try {
return field.get(obj);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}));
}
```
这个工具类可以将任意一个Java对象转换成一个Map对象,其中对象的属性名作为Map的key,属性值作为Map的value。
相关问题
使用fastjson将object对象转换为List<Map<String,Object>>
使用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对象获取字段名和值。
jsonobject转map对象工具类
以下是将 JsonObject 转换为 Map 对象的 Java 工具类示例代码:
```
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import java.util.HashMap;
import java.util.Map;
public class JsonObjectToMapUtil {
public static Map<String, Object> convertJsonObjectToMap(JsonObject jsonObject) {
Map<String, Object> map = new HashMap<>();
for (Map.Entry<String, JsonElement> entry : jsonObject.entrySet()) {
String key = entry.getKey();
JsonElement value = entry.getValue();
if (!value.isJsonPrimitive()) {
map.put(key, convertJsonObjectToMap(value.getAsJsonObject()));
} else {
map.put(key, value.getAsString());
}
}
return map;
}
public static void main(String[] args) {
String jsonString = "{\"name\":\"John\",\"age\":30,\"city\":\"New York\"}";
JsonObject jsonObject = JsonParser.parseString(jsonString).getAsJsonObject();
Map<String, Object> map = convertJsonObjectToMap(jsonObject);
Gson gson = new GsonBuilder().setPrettyPrinting().create();
String prettyJsonString = gson.toJson(map);
System.out.println(prettyJsonString);
}
}
```
本工具类使用了 Google 的 Gson 库,可以将 JsonObject 转换为 Map<String, Object> 对象。如果 JsonObject 中存在嵌套的 JsonObject,会递归转换为嵌套的 Map 对象。