我是斯卡拉的新人。我有一个Json文件,我把它变成了String。然后我将字符串解析为JSValue。现在我正在尝试读取所有值以更新我的数据库,但我不知道如何继续。
puppet:///private/etc...
我的Json就像:
val l = scala.io.Source.fromFile("list.json").getLines().mkString
val result: JsValue = Json.parse(l)
...
我想提取偶数块以使用正确的值更新数据库。
THX。
答案 0 :(得分:1)
您应该执行以下操作。我希望这些意见是解释性的:
val l = scala.io.Source.fromFile("list.json").getLines().mkString
val result: JsValue = Json.parse(l)
//Create a model to hold your json objects
case class Pic(id: String, width: String, height: String)
//Create a reader that reads your json string to your model(Pic)
implicit val picReads: Reads[Pic] = (
(JsPath \ "picture_id").read[String] and
(JsPath \ "width").read[String] and
(JsPath \ "height").read[String] and
)(Pic.apply _)
result.validate[List[Pic]] match {
case s: JsSuccess[List[Pic]] =>
//Deal with your list of pics here
case e: JsError => println("Errors: " + JsError.toFlatJson(e).toString())
}