我是scala的新手。我正在使用一些JSON对象,并希望得到一组JSON对象中可用的所有键。我想做这样的事情:
var set = scala.collection.mutable.Set[String]()
for(condition) {
set ++= jsonObject.keySet().asInstanceOf[Set[String]]
}
当我运行代码时,我收到以下错误:
java.lang.ClassCastException: java.util.HashMap$KeySet cannot be cast to scala.collection.mutable.Set
错误不言而喻。 我也尝试将密钥写入文件:
json2.keySet().toArray().foreach { x => keysWriter.write(x) }
IDE发出错误消息:overloaded method value write with alternatives: (x$1: Int)Unit <and> (x$1: String)Unit <and> (x$1: Array[Char])Unit cannot be applied to (Object)
那么,获得一个可访问的密钥列表会有什么更好的方法呢?
任何帮助将不胜感激。谢谢。
答案 0 :(得分:1)
您可以使用JavaConverters
:
import scala.collection.JavaConverters._
val keys = jsonObject.keySet.asScala
keys
是scala.collection.mutable.Set
。要创建不可变的Scala Set
,请执行以下操作:
val keys = jsonObject.keySet.asScala.toSet