7

Scala Json.Sprayで動作するように、JsonからKotlin Dataクラスを自動的に作成する方法やライブラリはありますか?

このようなもの:

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)
}
4

5 に答える 5

4

これは、Kotlin では非常にクリーンで簡単です。

import com.fasterxml.jackson.module.kotlin.*

data class User(val id: Int, val name: String)

fun main(args: Array<String>) {
    val mapper = jacksonObjectMapper()
    val json = """{"id": 10, "name": "Kirill"}"""
    val user = mapper.readValue<User>(json)
    println(user)
}

次の出力が生成されます。

User(id=10, name=Kirill)

これを pom.xml に追加するだけです

    <dependency>
        <groupId>com.fasterxml.jackson.module</groupId>
        <artifactId>jackson-module-kotlin</artifactId>
        <version>2.6.3-4</version>
    </dependency>
于 2015-12-07T18:23:05.060 に答える
1

Jackson やその他のシリアライザーを使用しないのはなぜですか? それはうまくいくはずです..

于 2014-09-07T17:15:28.070 に答える