我是第一次使用JSON,我有一个问题。当我尝试使用和导入TypeToken时,我得到错误“未解析的引用: TypeToken”。
我的代码
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.google.gson.Gson
import java.lang.reflect.Type
import com.google.gson.reflect.TypeToken
class QuizActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_quiz)
val gson = Gson()
val json = "quiz.json"
val myType: Type = object : TypeToken<List<QuizType>>(){}.type()
val quiz: List<QuizType> = gson.fromJson(json, myType)
}
}怎么啦?
编辑过的
我将使用这个
val myType = typeOf<List<QuizType>>().javaType相反,
val myType: Type = object : TypeToken<List<QuizType>>(){}.type()而且它起作用了!(或者我会试试Moshi)
发布于 2021-05-30 19:53:33
在TypeToken的声明中有问题。你错过了前面的object :。因为它应该是匿名内部类。
应该是这样的:
val gson = Gson()
val json = "quiz.json"
val myType: Type = object : TypeToken<List<QuizType>>() {}.type
val quiz: List<QuizType> = gson.fromJson(json, myType) https://stackoverflow.com/questions/67760505
复制相似问题