2012-11-15 52 views
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)); 

的方法上面將用戶對象轉換爲地圖respresenting一個JSON對象如:

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

這工作正常。不過,我需要一個基於響應地圖containling類似的格式值像上面上創建一個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創建對象並將正確的值分配給右側字段的方法

+0

總是會用註釋構造對象。您可以稍後處理對象的註釋。傑克遜無法實現的是什麼? – vels4j

回答

0

使用Jackson庫。它將你的對象轉換成json而不需要註釋它們。

+0

我知道傑克遜圖書館,但這裏的想法是,我需要使用註釋工作,因爲我正在構建一個需要註釋類的庫。我剛剛從json/map中創建對象,並將正確的值賦給正確的字段 – xybrek