2017-04-26 6 views
0

を構成しようとしたとき、私はエラーを取得するコンパイルするとき、私のJSONがJsValuませんJSONシリアライザはJSObjectを

// 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,""))) 

で見つかりました私の場合クラスのが、ここでわからないイム...

おかげ

+0

ザッツ: 理想的な方法は、このように置き換えることであろう。マップからList [String]を取得するか、文字列を取得します(.getOrElse)。理想的な方法は、これを次のように置き換えることです: '' val newParent = parent +( "kids" - > { kidsNamesMap.get(parentName).map(Json.toJson(_))。getOrElse(JsString( "") ) }) '' ' – Ashesh

+0

答えとして追加してください: – JohnBigs

+0

@JohnBiggs done。 – Ashesh

答えて

1

ザッツbecau se kidsNamesMap.getOrElse(parentName,"")には本当にタイプがありません。地図からはList[String]、またはString.getOrElse)となります。 `kidsNamesMap.getOrElse(parentNameは、「」)`本当にタイプを持っていないので

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