2016-11-10 72 views
2
import com.alibaba.fastjson.JSON 

object test { 
    def main(args: Array[String]) = { 
    val map = new util.HashMap[CharSequence, CharSequence]() 
    map.put("123", "22333") 
    map.put("test", null) 
    val ret = JSON.toJSONString(map) 
    println(ret) 
    } 
} 

toJSONString functiones:曖昧參照重載定義當在Java庫調用方法

錯誤:

Error:ambiguous reference to overloaded definition,both method toJSONString in object JSON of 
type (x$1: Any, x$2: com.alibaba.fastjson.serializer.SerializerFeature*)String 
and method toJSONString in object JSON of 
type (x$1: Any)String 
match argument types (java.util.HashMap[CharSequence,CharSequence]) 
val ret = JSON.toJSONString(map) 
+0

https://issues.scala-lang.org/browse/SI-8344其中'f(a,b,c)'可以看作'f(Tuple3(a,b,c))''。 –

回答

0

出於某種原因,Scala的超載邏輯不匹配的Java邏輯。你必須這樣稱呼它:

JSON.toJSONString(map, SerializerFeature.PrettyFormat) 

祝你有愉快的一天!