我使用Axis調用基於SOAP的Web服務。然後,我嘗試使用Google Gson庫將返回的遠程對象序列化爲JSON。額外/欺騙會員防止系列化(軸,爪哇,GSON)
的序列化JSON失敗,與GSON抱怨說:「有一個名爲多個元素__equalsCalc())。
當我檢查返回的對象在我的IDE(Eclipse的),我可以看到,這是真 - 返回的對象有三個成員稱爲__equalsCalc()和另外三個叫__hashCode
我環視,這些都是由WSDL2Java的添加知道(我認爲),以避免遞歸我的問題是,爲什麼。每個有三個?我怎樣才能得到串行忽略這些?他們不是該對象的定義實際上部分(它被稱爲RemoteProject,僅供參考)。我能做些什麼的hackish像蒙上了RemoteProject到RemoteProject讓它放棄這些成員?
GSON會忽略標記的字段問題在於,類定義本身是由Axis自動生成的,所以如果開始編輯這些來標記字段瞬變,它會變得很難看。我可能需要爲Gson編寫一些自定義的反序列化程序.... –
@SteveLane - 我想你會這樣做,這對傑克遜來說也是一個有效的解決方案。但是,當我和Axis一起工作時(類似5年前),我不記得我有這些自動生成的方法。也許事情已經改變,因爲... –