OZK*_*ZKA 6 json scala spray kotlin data-class
是否有一种方法和/或库可以自动从Json创建Kotlin Data类,就像在Scala Json.Spray中一样?
像这样的东西:
data class User(id: Int, name: String)
class DataClassFactory(val json: String) {
fun getUser(): User {
//some reflection
return User(10, "Kirill")
}
}
fun main(args: Array<String>): Unit {
val json = "{id: 10, name: Kirill}"
val usr = DataClassFactory(json).getUser()
println(usr)
}
Run Code Online (Sandbox Code Playgroud)
您可以使用Jackson模块为Kotlin轻松地从Jackson支持的任何格式(包括JSON)序列化/反序列化.这是最简单的方法,并且支持没有注释的Kotlin数据类.有关模块的信息,请参阅https://github.com/FasterXML/jackson-module-kotlin,其中包含使用Maven和Gradle的最新信息(您可以推断IVY并从Maven存储库下载JAR)
存在替代品,例如Boon,但它没有对Kotlin的特定支持(通常是没有默认构造函数的问题)并且使用一些不安全的直接访问内部JVM类来获得性能.这样做,它可能会崩溃在一些虚拟机上,并且在你使用自定义序列化器/反序列化器从Kotlin扩展Boon的情况下,它假设关于在Kotlin中不成立的类(例如String类被包装),我有看到核心转储.Boon快速闪电,在使用前要小心这些问题并先测试.
(注意:我是Jackson-Kotlin模块的创建者)
| 归档时间: |
|
| 查看次数: |
4873 次 |
| 最近记录: |