Search code examples
androidfirebasegson

Gson().fromJson() throws com.google.gson.stream.MalformedJsonException


I am developing an Android application using Firebase FireStore Database.

When my application read data, Firebase returns below Json data.

{email=topofsan@naver.com, name=DennisNaver, comment=Test profile for Dennis Naver account, imageUrl=None}

And I am using below Kotlin code to parse Json data.

val profile = Gson().fromJson(task.result.data.toString(), Profile::class.java)

Then Gson throw below error message.

com.google.gson.JsonSyntaxException: com.google.gson.stream.MalformedJsonException: Unterminated object at line 1 column 60 path $.comment

The data class Profile is defined as below.

data class Profile(var imageUrl: String, var email: String, var name: String, var comment: String)

I modified Json data as below and tried parse it using Gson. Then it worked.

{email=“topofsan@naver.com”, name=“DennisNaver”, comment=“Test profile for Dennis Naver account”, imageUrl=“None”}

How can I fix is issue?


Solution

  • This is self answer. I fixed this issue by using both Gson().toJson() & Gson().fromJson()

    val json = Gson().toJson(task.result.data)
    val profile = Gson().fromJson(json, Profile::class.java)