K.O*_*.Os 7 android json gson android-studio
我有一个问题,Kotlin编写从json String转换为对象List的代码.
Java中的Normaly就像这样:
Gson gson = new Gson();
Type type = new TypeToken<List<SomeOjbect>>() {}.getType();
List<SomeOjbect> measurements = gson.fromJson(json, type);
return measurements;
Run Code Online (Sandbox Code Playgroud)
但是在Kotlin,当我尝试这样的时候:
val gson = Gson()
val type: Type = TypeToken<List<SomeOjbect>>{}.type
val measurements : List<SomeOjbect> = gson.fromJson(text, type)
return measurements
Run Code Online (Sandbox Code Playgroud)
IDE Android Studio强调了TypeToken所说的错误:
无法访问'<init>':它是public/package/in'TypeToken'
并且还强调错误{}说:
类型不匹配.必填:输入!发现:()→单位
那么有没有一个解决方案让它适用于Kotlin?
Cha*_*irk 14
您可以尝试这样做:
val objectList = gson.fromJson(json, Array<SomeObject>::class.java).asList()
Run Code Online (Sandbox Code Playgroud)
试试这个,它使用对象而不是类型..
measurements : List<SomeOjbect> = gson.fromJson(text, object : TypeToken<List<SomeOjbect>>() {}.type)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7869 次 |
| 最近记录: |