原因是不能方法中定义class
//报错
test("json4s 官网示例3"){
case class Child(name: String, age: Int, birthdate: Option[java.util.Date])
case class Address(street: String, city: String)
case class Person(name: String, address: Address, children: List[Child])
val json = parse("""
{ "name": "joe",
"address": {
"street": "Bulevard",
"city": "Helsinki"
},
"children": [
{
"name": "Mary",
"age": 5,
"birthdate": "2004-09-04T18:06:22Z"
},
{
"name": "Mazy",
"age": 3
}
]
}
""")
implicit val formats: Formats = DefaultFormats
println(json.extract[Person])
val addressJson = json \ "address"
println(addressJson.extract[Address])
println( (json \ "children").extract[List[Child]])
}
修改为:
case class Child(name: String, age: Int, birthdate: Option[java.util.Date])
case class Address(street: String, city: String)
case class Person(name: String, address: Address, children: List[Child])
test("json4s 官网示例3"){
val json = parse("""
{ "name": "joe",
"address": {
"street": "Bulevard",
"city": "Helsinki"
},
"children": [
{
"name": "Mary",
"age": 5,
"birthdate": "2004-09-04T18:06:22Z"
},
{
"name": "Mazy",
"age": 3
}
]
}
""")
implicit val formats: Formats = DefaultFormats
println(json.extract[Person])
val addressJson = json \ "address"
println(addressJson.extract[Address])
println( (json \ "children").extract[List[Child]])
}