【发布时间】:2018-05-29 03:45:12
【问题描述】:
我在使用 Kotlin 编写从 JSON 字符串转换为对象列表的代码时遇到问题。
在Java中通常是这样的:
Gson gson = new Gson();
Type type = new TypeToken<List<SomeOjbect>>() {}.getType();
List<SomeOjbect> measurements = gson.fromJson(json, type);
return measurements;
但是在 Kotlin 中,当我这样尝试时:
val gson = Gson()
val type: Type = TypeToken<List<SomeOjbect>>{}.type
val measurements : List<SomeOjbect> = gson.fromJson(text, type)
return measurements
IDE Android Studio 将 TypeToken 表示为错误:
无法访问'
':它是public/package/在'TypeToken'中
并且还强调了 {} 所说的错误:
类型不匹配。 必需的: 类型! 成立: () → 单位
那么有没有办法让它适用于 Kotlin?
【问题讨论】:
-
试试这个,它使用对象而不是 Type.. 测量值:List
= gson.fromJson(text, object : TypeToken - >() {}.type)跨度>
-
@Uttam 谢谢,它成功了。您可以将其发布为答案,我接受它
-
很高兴它可以帮助你..
标签: android json android-studio gson