我正在使用Firebase FireStore数据库开发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”}
我如何解决这个问题?
2条答案
按热度按时间qjp7pelc1#
你需要修正你的数据。初始版本不是JSON。JSON需要引号。没有引号,解析器就不可能知道一个值在哪里结束,下一个值在哪里开始。我不知道是什么把数据放进你的数据库的,但是这个过程被破坏了。B
qltillow2#
这是自我回答。我通过使用Gson().toJson()和Gson().fromJson()解决了这个问题