Gson无法解析Kotlin中的字符串JSON格式数据。

6

我正在使用Kotlin编写一个应用程序。我从Web服务中获取了一个原始的JSON字符串,现在需要使用Gson处理它。

我正在进行以下操作:

val gson = Gson()
val friends = gson.fromJson(response.rawResponse, JsonElement::class)

但编译器找不到正确的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

我做错了什么?
1个回答

9

你应该传递一个java.lang.Class而不是kotlin.reflect.KClass,例如:

val friends = gson.fromJson(response.rawResponse, JsonElement::class.java)

问题已解决。非常感谢!我会接受你的答案 :) - Nicola Giancecchi
@NicolaGiancecchi 一点也不,这是我的荣幸, :) - holi-java

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接