Я использую Gson
для сериализации объектов Scala, но этот подход работает только для стандартных типов данных, таких как Int, String , но я не получаю ожидаемых результатов с коллекциями в качествеПример ниже:
import com.google.gson.Gson
object Hello extends App {
case class FilterJson(version: Int,
maps: Map[String, String],
gameModes: Map[String, String])
def anyRefToJsonString(scalaValue: AnyRef): String = {
import com.google.gson.Gson
val gson = new Gson
val jsonString = gson.toJson(scalaValue)
jsonString
} //End of function
val finalJson = anyRefToJsonString(
FilterJson(
version = 6,
maps = Map(
"MP_ArcticFjord" -> "on"
),
gameModes = Map(
"Conquest" -> "on"
)
))
println(finalJson)
}
Выше приведен пример кода в Scala, но я получаю finalString следующим образом:
{"version":6,"maps":{},"gameModes":{}}
, но должен получить это
{\"version\":6,\"maps\":{\"MP_ArcticFjord\":\"on\"},\"gameModes\":{\"Conquest\":\"on\"}}
Пожалуйста, помогите мне в этом, например, как преобразовать объекты, имеющие коллекций, в строку Json String