2016-09-08 15 views
0

文字列とマップリスト以外の方法があります。 2行目にエラーが表示される//エラーが発生する:タイプが一致しません。リスト[[String、org.json4s.JsonAST.JValue]](これは展開されます) ]マップのリストとタイプの不一致エラーが発生しました

val a = List(Map("inner/age" -> 35, "age" -> 27, "name" -> "foo")) 
val r = jsonFieldUpdater(json, a) 

私はこの

val r = jsonFieldUpdater(json, List(Map("inner/age" -> 35, "age" -> 27, "name" -> "foo"))) 

を行う場合、それは動作します。どのように私は最初に働くことができますか?

+0

'val a:List [Map [String、org.json4s.JsonAST.JValue] = List(マップ(" inner/age " - > 35、" age " - > 27、" name " - >" foo ") ) ' – pamu

答えて

2

Scalaの型推論がIntStringMap("a" -> 1, "b" -> "foo")Map[String, Any]のように共通のスーパータイプは、このコードが動作することを、この

val a: List[Map[String,org.json4s.JsonAST.JValue] = List(Map("inner/age" -> 35, "age" -> 27, "name" -> "foo")) 
val r = jsonFieldUpdater(json, a) 

ノートのような明示的な型注釈を使用してScalaのコンパイラガイドAny

ある推論していますIntsとStringsはコード内で

org.json4s.JsonAST.JValueとみなされるため、適切なコンテキストでのみ使用します
関連する問題