尝试组合JSOBJECT时,没有发现JSON序列化器



我的json是 JsValu

// this is a list of JsObject extracted from a json
val parents = (json  "parents").as[List[JsObject]]
// a map between parent name to list of their kids
val kidsNamesMap = (json  "kids").as[Map[String,List[String]]]
// creating a new JsObject
 val newParent = parent + ("kids" -> Json.toJson(kidsNamesMap.getOrElse(parentName,"")))

编译时,我会遇到错误:

未找到针对类型对象的JSON序列化器。尝试实施隐式 为此类型的写作或格式。 val newparent = parent ("儿童" -> json.tojson(kidsnamesmap.getorelse(parentname,'"((

,但是我现在确定要添加的作者,以前写了我的案例课,但在这里我不确定...

谢谢

那是因为kidsNamesMap.getOrElse(parentName,"")不会真正具有类型。从地图中,您要么获得List[String]或获得String(.getOrElse(。理想的方法是将其替换为:

val newParent = parent + ( "kids" -> { kidsNamesMap.get(parentName).map(Json.toJson(_)).getOrElse(J‌​sString("")) } )

最新更新