【问题标题】:Scala JSON Rapture API throws exceptionScala JSON Rapture API 抛出异常
【发布时间】:2016-11-17 01:14:44
【问题描述】:

我正在尝试使用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]]

我错过了什么?

【问题讨论】:

  • 请发布更大的代码片段,包括您拥有的任何使用 Rapture 的 import 语句。
  • @radumanolescu 我刚刚添加了详细信息..

标签: json scala rapture.io


【解决方案1】:

据我所知,你可以使用这样的东西。

Json.parse(str).as[List[Member]]) 因为它是一个列表而不是一个简单的数组。

【讨论】:

    【解决方案2】:

    错误消息告诉您需要隐式参数extmode 的值。应该是这样的:

    implicit val ext = ...
    implicit val mode = ...
    val rowsBean = rows(0).as[Array[Member]] // this uses the above implicits
    

    【讨论】:

      猜你喜欢
      • 2016-02-21
      • 2011-01-28
      • 2019-03-09
      • 1970-01-01
      • 1970-01-01
      • 2013-01-02
      • 2018-06-19
      • 2013-05-24
      • 2014-04-12
      相关资源
      最近更新 更多