当我有一个正确的 T 的 JsonFormatter 时序列化 Sequence[T]
Serialize Sequence[T] when I have a correct JsonFormatter for T
我正在尝试编写一个函数,将 NbaPlayerBoxScore
的列表转储到 json 文件。我写了一个 JsonFormat
函数,它可以将 NbaPlayerBoxScore
序列化到文件中。但是,我想将 Seq[NbaPlayerBoxScore]
写入文件。这是我的尝试
def dumpToJsonFile(contents : Seq[NbaPlayerBoxScore], protocol : JsonFormat[NbaPlayerBoxScore]) : Unit = {
import protocol._
val w = new BufferedWriter(new FileWriter(fileName))
w.write(contents.toJson.prettyPrint)
w.close
}
这是我得到的错误:
[error] /home/chris/dev/nba-api/src/main/scala/io/extrapoint/nbaapi/models/NbaPlayerBoxScoreDAO.scala:174: Cannot find JsonWriter or JsonFormat type class for Seq[io.extrapoint.nbaapi.models.NbaPlayerBoxScore]
[error] w.write(contents.toJson.prettyPrint)
[error] ^
[error] one error found
当我有单个 NbaPlayerBoxScore
的正确格式化程序时,如何序列化 NbaPlayerBoxScore
序列
我在发布这个问题后立即解决了我的问题。我为格式化程序使用了一个隐式参数,然后导入了 DefaultJsonProtocol
解决方法如下:
def dumpToJsonFile(contents : Seq[NbaPlayerBoxScore])(implicit protocol : JsonFormat[NbaPlayerBoxScore]) : Unit = {
import DefaultJsonProtocol._
val w = new BufferedWriter(new FileWriter(fileName))
w.write(contents.toJson.prettyPrint)
w.close
}
我正在尝试编写一个函数,将 NbaPlayerBoxScore
的列表转储到 json 文件。我写了一个 JsonFormat
函数,它可以将 NbaPlayerBoxScore
序列化到文件中。但是,我想将 Seq[NbaPlayerBoxScore]
写入文件。这是我的尝试
def dumpToJsonFile(contents : Seq[NbaPlayerBoxScore], protocol : JsonFormat[NbaPlayerBoxScore]) : Unit = {
import protocol._
val w = new BufferedWriter(new FileWriter(fileName))
w.write(contents.toJson.prettyPrint)
w.close
}
这是我得到的错误:
[error] /home/chris/dev/nba-api/src/main/scala/io/extrapoint/nbaapi/models/NbaPlayerBoxScoreDAO.scala:174: Cannot find JsonWriter or JsonFormat type class for Seq[io.extrapoint.nbaapi.models.NbaPlayerBoxScore]
[error] w.write(contents.toJson.prettyPrint)
[error] ^
[error] one error found
当我有单个 NbaPlayerBoxScore
NbaPlayerBoxScore
序列
我在发布这个问题后立即解决了我的问题。我为格式化程序使用了一个隐式参数,然后导入了 DefaultJsonProtocol
解决方法如下:
def dumpToJsonFile(contents : Seq[NbaPlayerBoxScore])(implicit protocol : JsonFormat[NbaPlayerBoxScore]) : Unit = {
import DefaultJsonProtocol._
val w = new BufferedWriter(new FileWriter(fileName))
w.write(contents.toJson.prettyPrint)
w.close
}