将Set[Strings]转换为JSON字符串scala
使用scala编程将Set[Strings]转换为JSON字符串。 例如: 我试着如下所示将Set[Strings]转换为JSON字符串scala,json,scala,set,scala-collections,Json,Scala,Set,Scala Collections,使用scala编程将Set[Strings]转换为JSON字符串。 例如: 我试着如下所示 val toString : String = new Gson().toJson(data) 它返回一个空。如何使用scala进行转换?Gson是一个Java库,而不是scala库,因此它并不总是正确处理scala集合。使用为Scala设计的JSON框架可能确实有意义(正如其他人所建议的) 但是,您也可以简单地使用获取Java集合并将其传递给Gson实例,如下所示: import collect
val toString : String = new Gson().toJson(data)
它返回一个空。如何使用scala进行转换?Gson是一个Java库,而不是scala库,因此它并不总是正确处理scala集合。使用为Scala设计的JSON框架可能确实有意义(正如其他人所建议的) 但是,您也可以简单地使用获取Java集合并将其传递给Gson实例,如下所示:
import collection.JavaConverters.setAsJavaSetConverter
val input: java.util.Set[String] = Set("foo", "bar", "baz").asJava
val json: String = new Gson().toJson(input) // ["foo","bar","baz"]
或者首先实例化一个Java集合。/Gson/Fasterxml无法正确处理scala集合类型,请先转换为Java集合。
您可以调用scala.collection.JavaConversions.setAsJavaSet(data)来获取java集合,然后使用gson将其转换通过谷歌搜索scala集合到json,使用不同的工具,json4s、play framework json parser和spray json,立即生成几个选项,仅举几个例子。不使用play、spary等框架就无法转换吗?
import collection.JavaConverters.setAsJavaSetConverter
val input: java.util.Set[String] = Set("foo", "bar", "baz").asJava
val json: String = new Gson().toJson(input) // ["foo","bar","baz"]