0

我找到了一些使用 JSON 进行案例类转换的示例。但是普通班呢?

假设我有一个普通的班级:

class User {
  var username = "Freewind"
  var email = "test@test.com"
  var age = 10
}

如何将其转换为 JSON,如下所示?

{
    "username" : "Freewind",
    "email" : "test@test.com",
    "age" : 10
}

以及如何将其转换回用户对象?


更新:

我从问题中删除了“lift-json”。任何图书馆都可以。

4

1 回答 1

1

我强烈建议切换到案例类,因为它为框架打开了更多的大门。如果您不想切换,一个可行的选项是 Jackson via the Jackson Scala Module。使用该库和以下代码,我能够正确地对您的User类进行两种方式的序列化:

  val mapper = new ObjectMapper()
  mapper.registerModule(DefaultScalaModule)

  val sw = new StringWriter
  val u = new User
  mapper.writeValue(sw, u)
  val json = sw.toString()
  val user = mapper.readValue(json.getBytes, classOf[User])

与其他依赖案例类的框架相比,它对 scala 不太友好,但它会完成工作。

于 2013-07-10T12:50:13.127 回答