[英]Play2 on Scala : JSON serialization/deserialization
我是新的 Play/Scala 並開始將 Spring Boot RestAPI 移植到 Play2 作為學習練習。 在 Java/SpringRest 中,它只是一個注釋 POJO 的問題,JSon 庫自動處理序列化/反序列化。
根據我閱讀的每個 Play2/Scala 教程,我必須為每個模型/案例 class 編寫一個 Writer/Reader,如下所示
implicit val writesItem = Writes[ClusterStatus] {
case ClusterStatus(gpuFreeMemory, gpuTotalMemory, labelsLoaded, status) =>
Json.obj("gpuFreeMemory" -> gpuFreeMemory,
"gpuTotalMemory" -> gpuTotalMemory,
"labelsLoaded" -> labelsLoaded,
"status" -> status)
}
//HTTP method
def status() = Action { request =>
val status: ClusterStatus = clusterService.status()
Ok(Json.toJson(status))
}
這意味着如果有一個大的領域模型/響應 model,我必須寫很多 Writer/Readers 來序列化/反序列化?
有沒有更簡單的方法來處理這個問題?
你可以試試 "com.typesafe.play" %% "play-json" % "2.7.2"。 要使用它,您只需執行以下步驟:
1)添加以下依賴項(根據您的項目使用版本):
"com.typesafe.play" %% "play-json" % "2.7.2",
"net.liftweb" % "lift-json_2.11" % "2.6.2"
2)定義格式:
implicit val formats = DefaultFormats
implicit val yourCaseClassFormat= Json.format[YourCaseClass]
此format
為您的案例 class 定義了讀取和寫入。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.