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



我正在使用Firebase开发一个Android应用程序。

当我的应用程序读取数据时,Firebase返回以下Json数据。

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

和我使用下面的Kotlin代码来解析Json数据。

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

然后Gson抛出下面的错误信息。

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

数据类Profile定义如下:

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

我修改Json数据如下,并尝试使用Gson解析它。

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

我如何解决这个问题?

您需要修复您的数据。初始版本不是JSON。JSON需要引号。如果没有这些,解析器就不可能知道一个值在哪里结束,下一个值在哪里开始。我不知道是什么把数据放入你的数据库,但这个过程是坏的。B

这是自己的回答。我通过使用Gson().toJson() &.fromJson Gson () ()

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

相关内容

  • 没有找到相关文章

最新更新