从Json / Map构造对象(带注释)

时间:2012-11-15 07:15:47

标签: java

我有这个类,我坚持通过基于其注释创建一个JSON对象:

@Entity(name = "user")
public class User { 
    @Id 
    private String id;
    @Column
    private String name;
    @Column
    private Integer age;
    public User() {}
public User(String id, String name, String age) {}
// ... code omitted
}

boolean ok = createEntity(new User("uid1", "eli", 25));

上面的方法会将User对象转换为一个代表JSON对象的Map,如:

map.put("ID", "uid1");
map.put("name", "eli");
map.put("age", 25);

这很好用。但是我需要基于响应映射创建一个User对象,其类似于上面的类似形式,首先我以JSON字符串的形式从服务器获得响应:

{
    "id" : "uid2",
    "name" : "ben",
    "age" : 20
}

我的意思是,如果我将这个JSON字符串解析为地图:

map.put("id", "uid2");
map.put("name", "ben");
map.put("age", 20);

如何构建一个User对象,将地图中的值填充到正确的@Column字段?

更新

我知道杰克逊图书馆,但这里的想法是我需要使用注释,因为我正在构建一个需要注释类的库。我只是在从json / map创建对象的方法之后,并将正确的值分配给正确的字段

1 个答案:

答案 0 :(得分:0)

使用Jackson库。它将您的对象转换为json,而无需对其进行注释。