我有这个类,我通过基于其注释创建一个 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);
如何构造一个用户对象,将地图中的值填充到正确的@Column
字段?
更新:
我知道 Jackson 库,但这里的想法是我需要使用注释,因为我正在构建一个需要对类进行注释的库。我只是在从 json/map 创建对象并将正确的值分配给正确的字段的方法之后