将[字符串]设置为JSON字符串scala

问题描述:

使用scala编程将[字符串]设置为JSON字符串。 如:将[字符串]设置为JSON字符串scala

data = Set(Client_1, Client_2, Client_3) 

我想下面,

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

它返回一个empty.How使用Scala的转换?

+1

Googling * scala collection to json *产生几个选项,使用不同的工具,json4s,玩框架json解析器和spray-json,仅举几例。 – sebszyller

+0

如果不使用任何框架如游戏,spary,不可能进行转换吗? – Gopi

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来转换它