New*_*bie 6 kotlin kotlinx.serialization
我正在为许多第三方 API 生成 JSON。他们中的许多人接受不同对象的列表(JSON 数组),但是,"type": "com.mycom.someclass"由于列表的多态性,它们都不会接受kotlinx 序列化自动生成的。
在我的用例中,我只关心序列化。不需要反序列化。
当前的:
[{"type":"com.mycom.Child1","x":"child1"}, {"type":"com.mycom.Child2","y": 23}]
Run Code Online (Sandbox Code Playgroud)
需要:
[{"x":"child1"}, {"y": 23}]
Run Code Online (Sandbox Code Playgroud)
如何禁用此自动行为?
看一下Json参数多态反序列化:
您还可以使用此类序列化器序列化数据。在这种情况下,将在运行时为实际属性类型选择注册序列化程序或默认序列化程序。不会添加类别鉴别器。
您需要实现JsonParametricSerializer并手动选择序列化器。由于您不需要支持反序列化,因此实现会很简单。
| 归档时间: |
|
| 查看次数: |
588 次 |
| 最近记录: |