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)