1
獲得對象的名單我想使用akka-http-spray-json 10.0.9
spray-json。如何從JSON
我的模型:
case class Person(id: Long, name: String, age: Int)
我得到JSON字符串jsonStr
與人的名單,並嘗試分析它:
implicit val personFormat: RootJsonFormat[Person] = jsonFormat3(Person)
val json = jsonStr.parseJson
val persons = json.convertTo[Seq[Person]]
錯誤:
Object expected in field 'id'
可能是我需要創建implicit object extends RootJsonFormat[List[Person]]
並覆蓋read
和write
方法。
implicit object personsListFormat extends RootJsonFormat[List[Person]] {
override def write(persons: List[Person]) = ???
override def read(json: JsValue) = {
// Maybe something like
// json.map(_.convertTo[Person])
// But there is no map or similar method :(
}
}
P.S.對不起,我的英語不是我的母語。
UPD
jsonStr:
[ {"id":6,"name":"Martin Ordersky","age":50}, {"id":8,"name":"Linus Torwalds","age":43}, {"id":9,"name":"James Gosling","age":45}, {"id":10,"name":"Bjarne Stroustrup","age":59} ]
我得到了'找不到類型CustomCollectionFormats' – Oleg
對不起..這來自於我們自己的lib .. –
對不起,編輯和不相關的評論..我的scala repl命名空間充滿了左轉.. –