我有非常动态的web服务协议,为了存储完整的响应,我需要存储原始的JSON值。
我正在使用scala和json4s。
case class DataClass(value: JValue)
case class Response(status: String, data: DataClass)解析后
{
"status": "awesome",
"data": {
"name": "John",
"age" : 20
}
}但以这种方式,json4s总是返回JNothing。
JsonMethods.parse(json).extract[Response]返回
响应(DataClass,JNothing)
发布于 2018-09-13 01:28:42
请试试这个:
// case class DataClass(value: JValue)
case class DataClass(name: String, age: Int)
case class Response(status: String, data: DataClass)
val s = """{
"status": "awesome",
"data": {
"name": "John",
"age" : 20
}
}"""
val json = parse(s).extract[Response] // json: Response = Response(awesome,DataClass(John,20))您应该让您的案例类与您的json字符串匹配。在这种情况下,json字符串中没有"value“,只有"name”和"age“。在解决问题的情况下,使用"name“和"age”。
https://stackoverflow.com/questions/47197851
复制相似问题