java - 需要在不编写包装器的情况下使第三方对象可序列化

标签 java serialization

我有第三方平台 jar,其中的 API 需要使用网络服务进行测试。 这些 API 采用不可序列化的自定义对象。 比方说一些 API 是这样的。

doSomething(CustomId someId, DBLoaderType type, DBFilter filter, boolean exclude) returns java.util.List<SomeNavigationSystem>

但是这些CustomIdDBLoaderTypeDBFilterSomeNavigationSystem都不是可序列化的对象。

有没有一种方法我不需要为所有这些类(有很多这样的类)编写任何额外的类来序列化?如果我为每个业务类编写一个包装器或等效的 DTO,那么这将非常不可扩展。

最佳答案

请查看 http://code.google.com/p/google-gson/ 下的 Google gson 库.

我不确定我是否完全理解您的问题,但如果您想序列化未实现 java.io.Serializable 的对象,您应该考虑 json 或其实现之一。假设您的对象可以从它们的“性质”中序列化,gson 可以将它们序列化为一个字符串。您的 Web 服务架构以后可能看起来很丑陋,但它可以工作。您最终将发送字符串。

关于java - 需要在不编写包装器的情况下使第三方对象可序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6017806/

相关文章:

java - 在LibGDX中,在程序运行时更改夹具定义

java - 删除矩形之间的间距 JavaFX

java - 如何创建全局 Robot 变量而不引发 AWTException?

Java Web 应用程序,可以将任意文件的内容流式传输到浏览器(live tail)

.net - 可以使用 OnDeserializedAttribute 代替 IDeserializationCallback 接口(interface)吗?

c# - 如何反序列化动态Json对象?

Swift 4.0 解码器错误与闭包属性

java - 使用 TSQL 解析 Apple plist

objective-c - 我可以在 Objective-C 中序列化数组并在反序列化时使其所有值保持不变吗?

serialization - Spark kryo 序列化寄存器 Datatype[]