簡體   English   中英

用最少的代碼編寫將Java對象序列化到Map(並解析回)的最快方法是什么?

[英]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序列化器/反序列化器。 您可能需要注釋特定的字段來調整輸出,但是通常不必這樣做。

如果不需要兼容,則有很多選項: XMLEncoderXStreamCastor 它們都只需要很少的代碼即可編寫,除非您需要一些花哨的東西。 XMLEncoder包含在JRE中,其他則是其他庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM