将 Set[Strings] 转换为 JSON String scala

Convert Set[Strings] to JSON String scala

使用 scala 编程将 Set[Strings] 转换为 JSON String。 例如:

data = Set(Client_1, Client_2, Client_3)

我正在尝试如下,

   val toString : String = new Gson().toJson(data)

要使用 scala 转换哪个 returns 和 empty.How?

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 集合。

Gson/Fasterxml 无法正确处理 Scala 集合类型,请先转换为 java 集合。 您可以调用 scala.collection.JavaConversions.setAsJavaSet(data) 来获取 java 集合,然后使用 gson 将其转换为