2017-07-10 14 views
4

私はKotlinにアプリを書いています。私はwebserviceから生まれた未加工のJSON文字列を持っており、Gsonと一緒に使用する必要があります。私はこれをやっているGotlinはKotlinの文字列json形式のデータを解析できません

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

コンパイラは代わりに(fromJson(json: String!, typeOfT: Type!))現在入手可能である正しいfromJsonメソッドオーバーロードを、見つけることができません。

エラーです:

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 

は私が間違って何をしているのですか?

答えて

7

あなたは、たとえば、java.lang.Classではなくkotlin.reflect.KClassを渡す必要があります。

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

をこれが問題を解決しました。どうもありがとうございます!私はあなたの答えを受け入れるでしょう:) –

+0

@NicolaGiancecchiまったくありません。光栄です、 :) –

関連する問題