003
003

Reputation: 367

why Kotlin Object class to json object comes null?

I am trying to convert kotlin object class using Gson() to JSON string but it gives back null where as object fields are actually holding the values. if it's a singleton object why can't I directly use to convert it in JSON string?

 val gson =  Gson()
 val dummy= Dummy
 val objDummy = gson.toJson(dummy)

object class:

object Dummy: Serializable{

   var test2: String? = "test2"

   var blank: String? = null

   var test1: String? = "test1"

}

Upvotes: 2

Views: 593

Answers (2)

user12039920
user12039920

Reputation:

oh i am even facing this problem. all you have to do is to install json to kotlin plugin from intellij idea plugin and i am sure it works fine and even works in nested json

Upvotes: 0

IR42
IR42

Reputation: 9672

Properties in object will be translated to static filds that are implicitly transient

You can use GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT) to allow Gson to serialize such filds.

val gson = GsonBuilder().excludeFieldsWithModifiers(Modifier.TRANSIENT).create()
val dummy = Dummy
val objDummy = gson.toJson(dummy)

Also, it is pointless to use Serializable for object

Upvotes: 3

Related Questions