我有第三方平台 jar,其中的 API 需要使用网络服务进行测试。 这些 API 采用不可序列化的自定义对象。 比方说一些 API 是这样的。
doSomething(CustomId someId, DBLoaderType type, DBFilter filter, boolean exclude) returns java.util.List<SomeNavigationSystem>
但是这些CustomId
、DBLoaderType
、DBFilter
、SomeNavigationSystem
都不是可序列化的对象。
有没有一种方法我不需要为所有这些类(有很多这样的类)编写任何额外的类来序列化?如果我为每个业务类编写一个包装器或等效的 DTO,那么这将非常不可扩展。
最佳答案
请查看 http://code.google.com/p/google-gson/ 下的 Google gson 库.
我不确定我是否完全理解您的问题,但如果您想序列化未实现 java.io.Serializable 的对象,您应该考虑 json 或其实现之一。假设您的对象可以从它们的“性质”中序列化,gson 可以将它们序列化为一个字符串。您的 Web 服务架构以后可能看起来很丑陋,但它可以工作。您最终将发送字符串。
关于java - 需要在不编写包装器的情况下使第三方对象可序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6017806/