|
|
1
8
关于创建自定义序列化程序,您可能是对的。 我尝试使用 Jackson 图书馆和Kotlin。 以下是Jackson的Maven依赖项:
可以使用此库将密封的类序列化为JSON,无需额外的自定义序列化程序,但反序列化需要自定义反序列化程序。 下面是我用来序列化和反序列化密封类的玩具代码:
如果运行此代码,则输出如下:
|
|
|
2
5
我最近也遇到了类似的问题(虽然使用的是Jackson,而不是Genson) 假设我具备以下条件:
然后添加
现在可以使用
|
|
|
3
3
我最终实现了一个定制的转换器和一个工厂,以便将其正确地插入Genson。 它使用Genson的元数据约定将对象表示为:
转换器假定 useClassMetadata 标志集,所以序列化只需要标记一个空对象。对于反序列化,它从元数据解析类名,加载它并获取 反对意见 。
确保此转换器仅应用于实际 对象 ,我使用工厂注册它,它告诉Genson何时使用它以及何时返回默认实现。
工厂可通过生成器配置Genson:
使用链式转换器功能的代码可能会更好,但我还没有时间检查它。 |
|
|
4
1
不需要
上述示例摘自its主回购自述: https://github.com/FasterXML/jackson-module-kotlin |
|
|
S qasem · Android内存性能 8 年前 |
|
|
R83nLK82 · 在单例设计模式上引发IOException 8 年前 |
|
|
hal · 两个课程有什么区别?他们的工作方式不同吗? 8 年前 |
|
Jaquarh · 如何在不使用DI的情况下实例化父类 8 年前 |
|
|
Deepanshu · 基于PHP的Web应用程序中的单例对象状态 8 年前 |
|
|
dicle · 视图控制器中的依赖项注入 8 年前 |
|
|
Kozuki · 如何在生产代码中考虑单例? 8 年前 |