如何在Android中将POJO转换为地图/地图到POJO

时间:2013-04-25 17:15:19

标签: android hashmap pojo apache-commons-beanutils

我的问题是: 是否有像BeanUtils(apache)这样的工具可以在ANDROID中使用?请给我一些提示。

//here is a simple POJO
public class Pojo{
  private String name;
  private int age;
  private double money;
//some set/get method ............
}
//and 
 Pojo pojo1 = new Pojo();
 pojo1.setName("jack");
 pojo.setAge(90);
 pojo.setMoney(99.78);
//then I have a blank map:
 HashMap<String, Object> map1 = new HashMap<String, Object>();

我想将pojo1中的valaues复制到map1; 我想将带有值的地图复制到空白的Pojo对象中;

地图中的键与Pojo的字段相同;

在映射到pojo的过程中,应该有一个auto(但简单)类转换(比如String to int等);

我知道有来自apache的beanutils,但它在ANDROID中无效。

我的英语不好,只学习java半年。我花了2天时间找到这样的工具。

感谢您的时间和帮助!

1 个答案:

答案 0 :(得分:0)

使用Jackson来完成您的项目可能是最好的。您需要为要解码的XML创建类。如果在服务器端没有类,则可以使用JAXB将XML转换为Java类。

要让杰克逊能够对您的类进行反序列化,请将@XmlRootElement添加到您的根类。然后,您只需创建XmlMapper的实例并使用serialize / deserialze方法。

使用杰克逊的另一个好处是,如果您的服务需要更轻量,您将能够转换为JSON。

如果您认为它不起作用,请将一些示例发布到您的帖子或Gist以查看代码并找出您遇到的任何问题。

参考文献: