我正在使用GSON在Android/Kotlin应用中解析JSON。当我运行这段代码时,foobar 和 jsonString 都是空的。我遗漏了什么?
var gson = Gson()
data class Foobar( val foo: String )
val foobar = gson.fromJson("""{"foo":"bar"}""",Foobar::class.java)
val jsonString = gson.toJson(Foobar("bar"))
2条答案
按热度按时间gfttwv5a1#
使用基本单元测试:
该测试失败:
将类移到方法之外:
以及
这是一件好事,这意味着我们期望它为null,但是测试失败了,因为我们的变量实际上有值。您的问题是由方法中的数据类引起的,在您的情况下,该方法是onCreate,将其移出可以解决问题
7lrncoxx2#
由于这些代码都在Android类(Main Activity)的 onCreate() 方法中,*Foobar::class.java * 没有考虑到 Foobar 类嵌套在 MainActivity 类中这一事实。因此,这也是一个修复: