json提升提取方法不可访问
我使用的json lift与中的scala 2.10兼容,但我似乎没有访问extract方法的权限。像这个例子:json提升提取方法不可访问,json,parsing,scala,lift-json,Json,Parsing,Scala,Lift Json,我使用的json lift与中的scala 2.10兼容,但我似乎没有访问extract方法的权限。像这个例子: import net.liftweb.json._ object testobject { case class process(process_id:Int,job_id:Int ,command:String, exception:String) def main(args: Array[String]) { val json = parse(""" {
import net.liftweb.json._
object testobject {
case class process(process_id:Int,job_id:Int ,command:String, exception:String)
def main(args: Array[String]) {
val json = parse("""
{
"process_id": "2",
"job_id": "540",
"command": "update",
"exception": "0"
}
""")
json.extract[process] // produces an error
}
}
现在该类具有动态解析,例如,以下内容不会产生任何错误(sweet):
我的两个问题是:
import net.liftweb.json._
object testobject {
case class process(process_id:Int,job_id:Int ,command:String, exception:String)
def main(args: Array[String]) {
val json = parse("""
{
"process_id": "2",
"job_id": "540",
"command": "update",
"exception": "0"
}
""")
val p = json.extract[process] // maps the json object to the process case class
println(p.job_id) // will print 540
}
}
我向您展示了获取正确字符串的方法,希望能帮助您: 假设有一个包含x和y值的元组列表
val dataSet:List[(Int,Int)] = new List((0,1),(1,3),(2,6))
我制作我的JObject(net.liftweb.json.JsonAST.JObject
):
然后我得到如下字符串:
val jsonString:String = compact(render(jsonTmp))
compact(d:Document):String
&render(value:JValue):Document
来自json包
这是结果字符串(三重引号仅用于代码格式):
我向您展示了获取正确字符串的方法,希望能帮助您: 假设有一个包含x和y值的元组列表
val dataSet:List[(Int,Int)] = new List((0,1),(1,3),(2,6))
我制作我的JObject(net.liftweb.json.JsonAST.JObject
):
然后我得到如下字符串:
val jsonString:String = compact(render(jsonTmp))
compact(d:Document):String
&render(value:JValue):Document
来自json包
这是结果字符串(三重引号仅用于代码格式):
我明白了:
val process_id = json.process_id match { case JString(s) => s.toInt }
我明白了:
val process_id = json.process_id match { case JString(s) => s.toInt }