使用 as 从 JsLookupResult 到 List[Map[String, JsValue]] 的隐式转换错误
Implicit conversion using as from JsLookupResult to List[Map[String, JsValue]] error
我有这个 scala
代码,它解析 json
并从 jsonValue
获取 notifiers
对象。
object App {
def main(args: Array[String]) {
val json =
"""{
"notifiers":[
{
"type":"url",
"attributes":{
"msg":"Hello world!"
}
}
],
"filters":[],
"position":{}
}"""
val jsonValue: JsValue = Json.parse(json)
(jsonValue \ "notifiers").as[List[Map[String, JsValue]]]
}
}
为什么我在最后一行收到这个错误?
Multiple markers at this line:
- Line breakpoint:App [line: 25] - App
- Implicit conversion found: jsonValue ⇒ jsValueToJsLookup(jsonValue): play.api.libs.json.JsLookup
- bad symbolic reference. A signature in DefaultReads.class refers to term time in package java which is not available. It may be completely
missing from the current classpath, or the version on the classpath
might be incompatible with the version used when compiling
DefaultReads.class.
使用 Scala 2.10.6,这个项目是一个具有 com.typesafe.play
依赖性的 Maven 模块
<dependency>
<groupId>com.typesafe.play</groupId>
<artifactId>play-json_2.10</artifactId>
<version>2.4.6</version>
</dependency>
Ps。我在其他一些程序中做了同样的事情,我正在使用这个 .as
(def as[T](implicit fjs: Reads[T]): T
) 从 JsLookupResult
类型转换为 List[Map[String, JsValue]]
没有错误。
尝试使用 JDK 8 或更早版本的 Play。 Play 2.4 仅支持 JDK 8 (https://www.playframework.com/documentation/2.4.x/Migration24) - 您得到的错误是关于无法在包 java
中找到成员 time
,自 JDK 8.
我有这个 scala
代码,它解析 json
并从 jsonValue
获取 notifiers
对象。
object App {
def main(args: Array[String]) {
val json =
"""{
"notifiers":[
{
"type":"url",
"attributes":{
"msg":"Hello world!"
}
}
],
"filters":[],
"position":{}
}"""
val jsonValue: JsValue = Json.parse(json)
(jsonValue \ "notifiers").as[List[Map[String, JsValue]]]
}
}
为什么我在最后一行收到这个错误?
Multiple markers at this line: - Line breakpoint:App [line: 25] - App - Implicit conversion found: jsonValue ⇒ jsValueToJsLookup(jsonValue): play.api.libs.json.JsLookup - bad symbolic reference. A signature in DefaultReads.class refers to term time in package java which is not available. It may be completely missing from the current classpath, or the version on the classpath might be incompatible with the version used when compiling DefaultReads.class.
使用 Scala 2.10.6,这个项目是一个具有 com.typesafe.play
依赖性的 Maven 模块
<dependency>
<groupId>com.typesafe.play</groupId>
<artifactId>play-json_2.10</artifactId>
<version>2.4.6</version>
</dependency>
Ps。我在其他一些程序中做了同样的事情,我正在使用这个 .as
(def as[T](implicit fjs: Reads[T]): T
) 从 JsLookupResult
类型转换为 List[Map[String, JsValue]]
没有错误。
尝试使用 JDK 8 或更早版本的 Play。 Play 2.4 仅支持 JDK 8 (https://www.playframework.com/documentation/2.4.x/Migration24) - 您得到的错误是关于无法在包 java
中找到成员 time
,自 JDK 8.