使用scala编程将Set [Strings]转换为JSON String。 例如:
data = Set(Client_1, Client_2, Client_3)
我正在尝试如下,
val toString : String = new Gson().toJson(data)
返回一个空。如何使用scala进行转换?
答案 0 :(得分:2)
Gson是一个Java库,而不是Scala,后来它并不总是正确处理Scala集合。可能确实有意义(正如其他人所建议的那样)使用为Scala制作的JSON框架。
但是你也可以简单地使用Java conversions来获取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集合。
答案 1 :(得分:0)
Gson / Fasterxml无法正确处理scala集合类型,首先转换为java集合。 您可以调用scala.collection.JavaConversions.setAsJavaSet(data)来获取java集合,然后使用gson进行转换