我將直接從我的問題開始,稍後我會提供更多背景信息。將LinkedHashMap <String,String>轉換爲Java中的對象
簡單:我有一個LinkedHashMap<String, String>
它代表一個特定的對象。 將其轉換爲該對象的最佳方式是什麼?
我知道您可以使用泛型來獲取所有元素並設置字段,但什麼是嵌套對象?
背景:我有一個使用JSON對象的JAX-RS服務。我的服務處理不同類型的對象,只是表示一個接口。所以我不知道哪些對象來自外部,哪些程序正在使用我的服務。
在運行時,我通過我的界面上的@Inject
獲取信息。 JAX-RS服務將來自客戶端的數據存儲在無類型的對象中並自動完成(即LinkedHashMap<String, String>
)。
隨着我的界面我想提供一個像setObject
和參數應該是該類型的對象的方法。我可以處理所有這些,但不是將對象LinkedHashMap<String, String>
轉換爲該特定對象的部分。
示例結構: 的目標對象可能喜歡
public class Document {
private String title;
private String id;
private int version;
}
的LinkedHashMap
看起來像
{title=some title, id=1, version=1}
爲什麼不能直接使用'HashMap'呢? – mercutio
您是否使用過Google庫來協助將JSON轉換爲Java對象?你不能一個人想要這樣做。 –
使用HashMap有什麼好處@mercutio –