【发布时间】:2017-04-26 23:00:51
【问题描述】:
我的 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,"")))
编译时出现错误:
找不到类型 Object 的 Json 序列化程序。尝试实现一个隐式 写入或格式化此类型。 val newParent = parent + ("kids" -> Json.toJson(kidsNamesMap.getOrElse(parentName,"")))
但我现在确定要添加什么作家,之前为我的案例课程写过作家,但这里我不确定......
谢谢
【问题讨论】:
-
那是因为
kidsNamesMap.getOrElse(parentName,"")不会真正有类型。从地图中,您要么得到一个 List[String],要么得到一个字符串 (.getOrElse)。理想的方法是将其替换为:val newParent = parent + ("kids" -> { kidsNamesMap.get(parentName).map(Json.toJson(_)).getOrElse(JsString("")) }) -
请将其添加为答案 :)
-
@JohnBiggs 完成。
标签: scala playframework playframework-2.0