首页 > 解决方案 > 将一系列 JsObject 保存到 JSON 文件中

问题描述

我正在使用 Play Framework 将案例类转换为 JSON 对象。这适用于案例类 LinkEvolution 的许多实例。给定每个 JSON 对象的结构:

    implicit val linkIPFormat = Json.format[LinkIPs]
    implicit val linkState = Json.format[LinkState]

    // user has JsObject as type
    val linkEvolution = LinkEvolution(rawDataLink.link, reference, current, alarms)

    val user = Json.obj(
                  "link" -> rawDataLink.link,
                  "reference" -> linkEvolution.reference,
                  "current" -> linkEvolution.current,
                  "alarms" -> linkEvolution.alarms)

我有一个用户列表,所以有一个 JsObject 列表。我的问题是如何将此列表保存在 JSON 文件中,文件的每一行都是一个 JsObject。

标签: jsonscalaplayframework

解决方案


您可以将它们转换为字符串并写入文件(我假设 users=List[JsObject]):

import java.io._

val file = "file.json"
val writer = new BufferedWriter(new FileWriter(file))
users.map(_.toString).{ json =>
   writer.write(json)
   writer.newLine
}
writer.close()

推荐阅读