将[字符串]设置为JSON字符串scala
问题描述:
使用scala编程将[字符串]设置为JSON字符串。 如:将[字符串]设置为JSON字符串scala
data = Set(Client_1, Client_2, Client_3)
我想下面,
val toString : String = new Gson().toJson(data)
它返回一个empty.How使用Scala的转换?
答
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来转换它
Googling * scala collection to json *产生几个选项,使用不同的工具,json4s,玩框架json解析器和spray-json,仅举几例。 – sebszyller
如果不使用任何框架如游戏,spary,不可能进行转换吗? – Gopi