Scala JSON Rapture API выдает исключение
Я пытаюсь использовать rapture.io
Scala JSON-анализатор для анализа значения JSON (rows
) это выглядит так:
{
rows:
[
[
null,
"2016-11-16T15:43:18.000Z",
{
"p": 1,
"q": 2
},
null,
"Game highlights"
],
[
null,
"2007-10-09T01:52:29.000Z",
{
"p": 21,
"q": 99
},
"blaah",
"Game reviews"
]
}
Мой код выглядит так:
import rapture.io._
import rapture.codec._
import rapture.json._
import rapture.data._
import rapture.uri._
import rapture.net._
import encodings.system
import jsonBackends.jawn._
class NotesDownloader () {
def download(): Unit = {
val src = uri"https://some_url".slurp[Char]
val jsonResponse = Json.parse(src)
val rows = jsonResponse.data.rows
val rowsBean = rows(0).as[Array[Member]]
println(jsonResponse)
}
case class Member(array: Array[Some[String]])
}
Когда я пытаюсь извлечь полные данные в Member
Я получаю это исключение:
Error:(40, 30) not enough arguments for method as: (implicit ext: rapture.data.Extractor[Array[NotesDownloader.this.Member],rapture.json.Json], implicit mode:
rapture.core.Mode[rapture.data.ExtractionMethods])mode.Wrap[Array[NotesDownloader.this.Member],rapture.data.DataGetException].
Unspecified value parameters ext, mode. val rowsBean = value.as[Array[Member]]
что мне не хватает?
2 ответа
Насколько я знаю, вы могли бы использовать что-то вроде этого.
Json.parse (str).as [List [Member]]), так как это список, а не простой массив.
Сообщение об ошибке говорит вам, что вам нужны значения для неявных параметров ext
а также mode
, Это было бы что-то вроде этого:
implicit val ext = ...
implicit val mode = ...
val rowsBean = rows(0).as[Array[Member]] // this uses the above implicits