从scala中的响应修改json字符串

时间:2017-09-08 09:47:17

标签: json scala lift-json

我正在尝试使用scala中的lift json解析json,我将其作为响应字符串从post调用中获得并更新json中的字段,然后使用修改后的json进行put调用。

Response string  {"id":x,"status":"xxx","Ip":xxxx}

我想修改状态

val response=Post()
    val res = raw"""$response"""
    implicit val formats = DefaultFormats
    case class JsonData(id: Int, status:String,Ip:String)
      val json = parse(res)
        val m = json.extract[JsonData]
    println(m.id)

例外:

  

线程中的异常" main" java.lang.NoClassDefFoundError:   com / thoughtworks / paranamer / Paranamer at   net.liftweb.json.Extraction $ .NET $ liftweb $ JSON $提取$$ mkMapping $ 1(Extraction.scala:194)     在   net.liftweb.json.Extraction $ .NET $ liftweb $ JSON $提取$$ extract0(Extraction.scala:199)     在net.liftweb.json.Extraction $ .extract(Extraction.scala:43)at   net.liftweb.json.JsonAST $ JValue.extract(JsonAST.scala:312)at at   mytest.TestApi $ .main(TestApi.scala:38)at   mytest.TestApi.main(TestApi.scala)引起:   java.lang.ClassNotFoundException:com.thoughtworks.paranamer.Paranamer     在java.net.URLClassLoader.findClass(未知来源)at   java.lang.ClassLoader.loadClass(未知来源)at   sun.misc.Launcher $ AppClassLoader.loadClass(未知来源)at   java.lang.ClassLoader.loadClass(未知来源)... 6更多

0 个答案:

没有答案