将 Scala7-M9 和 json4s 3.0.1 与编译器版本 2.10.0 和 2.10.1 一起使用时,我遇到了编译器问题
在编译 JSON 解析代码的简短片段时,我收到以下编译器错误:
[error] JSON.scala:25: erroneous or inaccessible type
[error] JArray(children) <- json \ "children"
[error] ^
从此代码:
import scalaz._
import Scalaz._
import org.json4s._
import org.json4s.native.JsonMethods._
object JSON {
def main(args: Array[String]) = {
val json = parse("""
{ "name": "joe",
"children": [
{
"name": "Mary",
"age": 5
},
{
"name": "Mazy",
"age": 3
}]
} """)
val names = for {
JArray(children) <- json \ "children"
JObject(child) <- children
JField("name", JString(name)) <- child
} yield(name)
println("Names: " + names)
}
}
将导入更改为:
import scalaz.{Scalaz, \/}
import Scalaz.ToIdOps._
(在我的真实项目中,我只需要 / monad 进行一些验证)解决了这个问题。
只是想知道当我导入整个 scalaz 命名空间时是否有任何来自 Scalaz/编译器世界的人知道是什么导致了编译器错误,以及它是否是我需要归档的 BUG。
谢谢。