我正在尝试使用Lift JSON库解析JSON。我已经通过在build.SBT文件中添加以下语句,使用SBT导入了库:
libraryDependencies +="net.liftweb" % "lift-json" % "2.0"
我启动SBT并使用"console"命令运行Scala解释器。
然后我运行以下两个语句:
import net.liftweb.json._
parse(""" { "numbers" : [1, 2, 3, 4] } """)
在第二个语句之后,我得到以下错误:
<console>:11: error: not found: value parse
parse(""" { "numbers" : [1, 2, 3, 4] } """)
为了确保我的项目没有问题,我启动了一个干净的项目,只导入了Lift JSON库。同样的结果。我甚至尝试过一种替代的JSON库(json4s),但当涉及到解析语句时,它会出现完全相同的问题:-(
我正在运行以下版本:Scala 2.11.2SBT 0.13.6提升JSON 2.0
有什么建议吗?
Lift 2.0相当古老。只需使用2.5即可。Afaict 2.0在json
包对象中实际上没有parse
方法。
来自scala版本2.11.6和lift-json的一个更高版本的"scala-repl"(http://mvnrepository.com/artifact/net.liftweb/lift-json_2.11)
从lift-json README.md文件运行示例https://github.com/lift/lift/tree/master/framework/lift-base/lift-json/
您还可以使用lift-json README.md 中建议的":require"(如下所示)将paranamer.jar文件添加到类路径中
$ scala
Welcome to Scala version 2.11.6 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_45).
Type in expressions to have them evaluated.
Type :help for more information.
scala> :require lift-json_2.11-3.0-M5-1.jar
Added '<absolute path to>/lift-json/lift-json_2.11-3.0-M5-1.jar' to classpath.
scala> import net.liftweb.json._
import net.liftweb.json._
scala> parse(""" { "numbers" : [1, 2, 3, 4] } """)
res0: net.liftweb.json.JValue = JObject(List(JField(numbers,JArray(List(JInt(1), JInt(2), JInt(3), JInt(4))))))