我有这个类,我坚持通过基于其注释创建一个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创建对象的方法之后,并将正确的值分配给正确的字段