0

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

4

1 回答 1

0

使用杰克逊图书馆。它将您的对象转换为 json,而无需对其进行注释。

于 2012-11-15T07:18:13.257 回答