var json= {"a1":"b","c1":"d","e1":{"f1":"g","h1":"i","j1":"k"}}
implicit val formats = org.json4s.DefaultFormats
parse(json).extract[Map[String, String]]
执行代码时,我收到NullPointerException。
NPE是因为formats
为空。
我需要使用一些不同的格式吗?
答案 0 :(得分:0)
您无法像这样提取,因为您要返回Map [String,String],但输入e1
包含Array
。因此,您可以使用案例类来提取值:
case class Data(a1: String, c1: String, e1: ArrayData)
case class ArrayData(f1: String, h1: String, j1: String)
def checkData : Data = {
val json = """{"a1":"b","c1":"d","e1":{"f1":"g","h1":"i","j1":"k"}}"""
implicit val formats = org.json4s.DefaultFormats
parse(json).extract[Data]
}
// output : Data(b,d,ArrayData(g,i,k))
感谢。