将request.getParameterMap()转换为bean

时间:2015-03-23 11:56:28

标签: java

我想将Map<String, String[]>转换为带有getter和setter的Bean。有没有可以做到这一点的图书馆?如果没有,怎么办呢?

我的想法是它会是这样的:

public Object convert(final Map<String, String[]> map) {
    Object object = new Object() {
    Iterator iterator = map.entrySet().iterator();
    while (iterator.hasNext()) {
        Map.Entry mEntry = (Map.Entry) iterator.next();
        Object mEntry.getKey() = mEntry.getValue();
     }
    };
    return object;
}

3 个答案:

答案 0 :(得分:2)

如果类已经存在,那么apache.commons.beanutils会将map的值映射到bean。

BeanUtils.populate(学生,地图);

在这里说学生班已经存在。

答案 1 :(得分:0)

你可以使用List Of Objects

来完成
public List<ObjectSample> convert(final Map<String, String[]> map) {

List<ObjectSample> list = new ArrayList<>();
Iterator iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
    Map.Entry mEntry = (Map.Entry) iterator.next();
    ObjectSample object = new ObjectSample();
    object.setKey(mEntry.getKey()); 
    object.setValue(mEntry.getValue());
    list.add(object);
 }

return list;
}

答案 2 :(得分:0)

如果您知道生成的POJO的结构,可以使用jackson(http://jackson.codehaus.org/)或其他json / xml到POJO映射库。你知道结果对象是什么样的吗?

Rajesh所说的也是一种解决方案,事件更容易。但是同样的问题 - 你必须知道结果的结构。