[英]What's the quickest way to remove an element from a Map By Key in Java?
[英]What is the quickest way to serialize a Java object to Map (and parse back) with minimum code writing?
我有一個系統(實體從數據庫,通過ORM表示為Java對象)將由XML-RPC客戶端讀取,我現有的方式是通過StructSerializer
序列化它們,在其代碼中,我們從Java對象中讀取屬性,包括調用另一個StructSerializer
來序列化/解析屬性,例如
Surrogate parse(Map<String, Object> in) {
String name = in.get(Surrogate.NAME, String.class);
...
}
Map<String, Object> serialize(Surrogate in) {
out.put(Surrogate.ID, in.getId());
out.put(Surrogate.USER, userSerializer.serialize(in.getUser()))
}
我現在正在尋找的是消除/自動化/最小化編寫此類代碼。 而且,與XML-RPC兼容並不是真正的問題。
非常感謝。
編輯:
為了進一步詳細說明,XML轉換由Apache XML-RPC處理,我所需要的只是將其轉儲到Map中以使其工作。 我現在需要的是將Java對象轉換為Map的統一/公認的方法。
我對搜索結果進行了優化,發現: 如何將Java對象(bean)轉換為鍵值對(反之亦然)?
這表明BeanUtils是一個很好的解決方案。
我喜歡XStream進行此類工作-http://x-stream.github.io/
您要做的就是注釋您的類,並將其輸入XStream序列化器/反序列化器。 您可能需要注釋特定的字段來調整輸出,但是通常不必這樣做。
如果不需要兼容,則有很多選項: XMLEncoder , XStream和Castor 。 它們都只需要很少的代碼即可編寫,除非您需要一些花哨的東西。 XMLEncoder包含在JRE中,其他則是其他庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.