Nic*_*chi 4 android json gson kotlin
我在Kotlin写一个应用程序.我有一个来自Web服务的原始JSON字符串,我需要将它与Gson一起使用.
我这样做:
val gson = Gson()
val friends = gson.fromJson(response.rawResponse, JsonElement::class)
Run Code Online (Sandbox Code Playgroud)
但编译器无法找到正确的fromJson方法重载,而目前可用的是(fromJson(json: String!, typeOfT: Type!)).
这是错误:
Error:(65, 50) None of the following functions can be called with the arguments supplied:
public open fun <T : Any!> fromJson(json: JsonElement!, classOfT: Class<JsonElement!>!): JsonElement! defined in com.google.gson.Gson
public open fun <T : Any!> fromJson(json: JsonElement!, typeOfT: Type!): JsonElement! defined in com.google.gson.Gson
public open fun <T : Any!> fromJson(reader: JsonReader!, typeOfT: Type!): JsonElement! defined in com.google.gson.Gson
public open fun <T : Any!> fromJson(json: Reader!, classOfT: Class<JsonElement!>!): JsonElement! defined in com.google.gson.Gson
public open fun <T : Any!> fromJson(json: Reader!, typeOfT: Type!): JsonElement! defined in com.google.gson.Gson
public open fun <T : Any!> fromJson(json: String!, classOfT: Class<JsonElement!>!): JsonElement! defined in com.google.gson.Gson
public open fun <T : Any!> fromJson(json: String!, typeOfT: Type!): JsonElement! defined in com.google.gson.Gson
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
你应该传递一个java.lang.Class而不是一个kotlin.reflect.KClass,例如:
val friends = gson.fromJson(response.rawResponse, JsonElement::class.java)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
662 次 |
| 最近记录: |