Kotlin使用Gson将json字符串转换为ojbect列表
我有一个问题,Kotlin编写从json字符串转换为对象列表的代码。
在Java中通常是这样的:
Gson gson = new Gson(); Type type = new TypeToken<List>() {}.getType(); List measurements = gson.fromJson(json, type); return measurements;
然而在Kotlin,当我尝试像这样:
val gson = Gson() val type: Type = TypeToken<List>{}.type val measurements : List = gson.fromJson(text, type) return measurements
IDE Android Studio强调为TypeToken所说的错误:
无法访问”:它是public / package / in’TypeToken’
也强调说错误:
types不匹配。 必需:键入! 发现:()→单位
那么有没有一种解决方案可以让Kotlin工作?
你可以尝试这样做:
val objectList = gson.fromJson(json, Array::class.java).asList()
这应该做的工作
试试这个,它使用对象而不是Type ..
measurements : List = gson.fromJson(text, object : TypeToken>() {}.type)