Преобразовать объект класса Scala (имеющий коллекции) в строку Json - PullRequest
0 голосов
/ 24 апреля 2018

Я использую 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...