2013-07-10 58 views
0

我發現了一些使用JSON進行案例類轉換的例子。但是正常的課程呢?如何使用Scala將普通類轉換爲JSON並將其轉換爲JSON?

假設我有一個普通類:

class User { 
    var username = "Freewind" 
    var email = "[email protected]" 
    var age = 10 
} 

如何將其轉換爲JSON,如下面的?

{ 
    "username" : "Freewind", 
    "email" : "[email protected]", 
    "age" : 10 
} 

如何將其轉換回用戶對象?


更新:

我刪除了 「提升JSON」 從問題。任何圖書館都會沒事的。

回答

1

我強烈建議切換到案例類,因爲就框架而言,它打開了更多的門。如果你不想切換,可以使用的一個選項是Jackson,通過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]) 

這是有點少階友好然後依賴於case類的其他框架,但它會得到任務完成。

+0

非常感謝你!有用 :) – Freewind