我正在使用 Axis 调用基于 SOAP 的 Web 服务。然后,我尝试使用 Google Gson 库将返回的远程对象序列化为 JSON。
JSON 的序列化失败,Gson 抱怨“有多个名为 __equalsCalc() 的元素”。
当我在我的 IDE (Eclipse) 中检查返回的对象时,我可以看到这是真的——返回的对象有三个名为 __equalsCalc() 的成员和另外三个名为 __hashCode 的成员。
我环顾四周知道这些是由 WSDL2Java(我认为)添加的,以避免递归。我的问题是,为什么每个都有三个?我怎样才能让序列化程序忽略这些?它们实际上并不是对象定义的一部分(它被称为 RemoteProject,以供参考)。我可以做一些骇人听闻的事情,比如将 RemoteProject 转换为 RemoteProject 以使其删除这些成员吗?