[
{"fname":"Foo","lname":"Pacman"},
{"fname":"Bar","lname":"Mario"},
{"fname":"Poo","lname":"Wario"}
]
我有这种格式的JSON字符串,现在我需要的是转换每个元组-> {"fname":"Foo","lname":"Pacman"}
到Person对象,例如,假设我有一个case类
case class Person(fname:String,lname:String)
现在我怎么得到,List<person>
如果我有一个包含单个元组数据的JSON,那么我可以,
val o:Person = parse[Person](jsonString)// I am actually using Jerkson Lib
但是由于有多个元组,我如何单独解析它们并创建对象和创建列表
Jerkson支持开箱反序列化对象列表,因此您需要做的就是:
val people = parse[List[Person]](personJson)
您可以使用json4s(它是jackson或lift-json的包装器),在那里您也可以获得这样的解析功能。
import org.json4s._
import org.json4s.jackson.JsonMethods._
implicit val formats = DefaultFormats
val personJson = """
[
{"fname":"Foo","lname":"Pacman"},
{"fname":"Bar","lname":"Mario"},
{"fname":"Poo","lname":"Wario"}
]"""
case class Person(fname:String,lname:String)
val people = parse(personJson).extract[List[Person]]