社区
Java SE
帖子详情
map to pojo(在线等)
psueudc
2007-08-20 10:00:12
如题,将map对象转换成指定pojo对象
在线等
...全文
394
9
打赏
收藏
map to pojo(在线等)
如题,将map对象转换成指定pojo对象 在线等
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangzh910
2008-02-24
打赏
举报
回复
最简单的办法是用 BeanUtils.populate(entity, map);它可以将属性直接赋值给pojo
rorey_008
2007-08-20
打赏
举报
回复
就是java的反射
洪泉
2007-08-20
打赏
举报
回复
楼上正解
火龙果被占用了
2007-08-20
打赏
举报
回复
package test;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.util.HashMap;
import java.util.Map;
public class Test {
public static void main(String[] args) throws ClassNotFoundException,
InstantiationException, IllegalAccessException, IllegalArgumentException,
InvocationTargetException, SecurityException, NoSuchFieldException {
Map<String, Object> map = new HashMap<String, Object>();
map.put("name", "abc");
map.put("age", 20);
Student stu = new Student();
Class clazz = Class.forName("test.Student");
for (Map.Entry<String, Object> entry : map.entrySet()) {
Field field = clazz.getDeclaredField(entry.getKey());
field.setAccessible(true);
field.set(stu, entry.getValue());
}
System.out.println(stu.getName());
System.out.println(stu.getAge());
}
}
class Student {
private String name;
private int age;
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
洪泉
2007-08-20
打赏
举报
回复
可以考虑使用java的反射机制
psueudc
2007-08-20
打赏
举报
回复
恩
key是 POJO 的属性,value是 POJO 的属性值
火龙果被占用了
2007-08-20
打赏
举报
回复
那你的 Map 里面放了些什么?键是 POJO 的属性,值是 POJO 的属性值?
psueudc
2007-08-20
打赏
举报
回复
谢谢大家帮助,现在已经完成了
psueudc
2007-08-20
打赏
举报
回复
/**
*
* 标题:中石油集团公司生产管理系统
*
* 专业:录井专业
*
* 公司: 荆鹏
*
* 作者:宋腾,2007-8-20
*
* 描述:对该类所实现的功能做大致的描述
*
* 说明: 需要特别注明的信息在此描述
*/
public static Object mapToPojo(Map map, Object pojo) throws Exception {
// 获得对象的类型
Class classType = pojo.getClass();
// 获得对象的所有属性
Field fields[] = classType.getDeclaredFields();
// Field mapFields[] = null;
Iterator keyValuePairs = map.entrySet().iterator();
for (int i = 0; i < map.size(); i++) {
Map.Entry entry = (Map.Entry) keyValuePairs.next();
String key = (String) entry.getKey();
String value = (String) entry.getValue();
String firstKey = key.substring(0, 1).toUpperCase();
// 获得和属性对应的getXXX()方法的名字
String getMethodName = "set" + firstKey + key.substring(1);
// 获得和属性对应的getXXX()方法
Class[] cargs = new Class[1];
String realArgs = value;
Integer in = new Integer(2);
cargs[0] = realArgs.getClass();
Method getMethod = classType.getMethod(getMethodName,
cargs);
// 调用原对象的getXXX()方法
Object test = getMethod.invoke(pojo, value);
System.out.println(test);
}
return pojo;
}
java
Pojo
转
Map
将
Pojo
对象转换为
Map
,可以简化数据处理过程,尤其是在JSP页面上展示数据时,
Map
的灵活性更加突出。本文将详细介绍如何实现Java中的
Pojo
到
Map
的转换,并通过具体的示例来演示这一过程。 首先,我们需要一个
Pojo
类,...
java
pojo
转
map
,如何在Java中将
POJO
转换为
Map
,反之亦然?
My use case is to convert any arbitrary
POJO
to
Map
and back from
Map
to
POJO
. So I ended up using the strategy
POJO
-> json -> org.bson.Document and back to org.bson.Document -> json -> P...
map
与
pojo
相互转换
/** * 使用org.apache.commons.beanutils进行转换 */ class A { public static Object
map
ToObject(
Map
map
, Class beanClass) throws Exception { if (
map
== null) return
使用java反射机制运行时进行
Map
和
POJO
的互相转换
下面直接给出示例代码,代码中,flushParams方法将类(包括父类)中所有的可见属性转换为了
Map
中的键值对,而flushObject方法执行的是相反的操作,将
Map
中的键值对转换为了类(包括父类)中所有的可见属性。...
java
pojo
转
map
_如何将
POJO
对象转换成
MAP
展开全部很多情况需要将取得的
POJO
对象转换成其他表现形式,如Key-Value的
Map
形式,用于数据展现.本文介绍如何e5a48de588b662616964757a686964616f31333337376262将取得的
POJO
对象实例后如何转换成
Map
对象.代码如下1、...
Java SE
62,623
社区成员
307,257
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章