Ser*_*gey 4 serialization json kotlin json-deserialization kotlinx.serialization
我使用kotlinx.serialization库来序列化/反序列化 JSON。有一个 JSON 字符串:
{"id":"1"}
Run Code Online (Sandbox Code Playgroud)
也可以表示为
{"uid":"1"}
Run Code Online (Sandbox Code Playgroud)
我想用一个属性处理两个名字,例如:
@Serializable
data class User(val id: String)
Run Code Online (Sandbox Code Playgroud)
是否可以仅使用一个data类及其属性来解析两个 JSON?
是的,您可以使用@JsonNames注释来提供除属性名称之外的替代名称(请参阅文档)。您还可以在注释中定义多个附加名称。
@OptIn(ExperimentalSerializationApi::class)
@Serializable
data class User(
@JsonNames("uid")
val id: String,
)
Run Code Online (Sandbox Code Playgroud)
对于序列化,将使用属性名称。对于反序列化,JSON 可能包含属性名称或附加名称,两者都映射到属性id。
| 归档时间: |
|
| 查看次数: |
8411 次 |
| 最近记录: |