2017-12-05 12 views
0

私はJsObjectの.fieldsにMap("foo" -> JsBoolean(false))を追加しようとしており、常にMap[String, Object]になります。通常のタイプ強制変換技法のいずれも、新しいJsObjectを適用するためのMap[String, JsValue]を取得していないようです。どうしたんだ? JsBooleanはJsValueではありませんか?なぜ[String - > JsBoolean]をMap [String、JsValue]に追加できないのですか?

val bar = JsObject(List(("key", JsNumber(1)))) 
val bazz = bar.value 
val wrong = bazz + ("newBoolean" -> JsBoolean(true)) 

これは、次の生成:次の例は、場合に役立ちます

val bar = format.write(image) 
val bazz = bar.asJsObject.fields 
val wrong: Map[String, JsValue] = bazz + ("newBoolean" -> JsBoolean(true)) 
+2

コードの完全な(ほぼ)コンパイル例を提供できますか? import文と 'format'と' image'は何ですか?私は 'asJsObject'はPlay JSONから来るメソッドではないと思う(少なくとも私はそれを見つけることができませんでした)。また、 'JsObject'の' fields'は 'Map'ではなく' Seq'のペアを生成します。 – badcook

答えて

0

badcookは正しい軌道に乗っていました。私は数種類のJSONライブラリを混在させていました。

0

は、参照してください

wrong: scala.collection.Map[String,play.api.libs.json.JsValue] = Map(key -> 1, newBoolean -> true) 
関連する問題