首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未解析的引用: TypeToken

未解析的引用: TypeToken
EN

Stack Overflow用户
提问于 2021-05-30 19:14:51
回答 1查看 549关注 0票数 0

我是第一次使用JSON,我有一个问题。当我尝试使用和导入TypeToken时,我得到错误“未解析的引用: TypeToken”。

我的代码

代码语言:javascript
复制
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)

    }
}

怎么啦?

编辑过的

我将使用这个

代码语言:javascript
复制
val myType = typeOf<List<QuizType>>().javaType

相反,

代码语言:javascript
复制
val myType: Type = object : TypeToken<List<QuizType>>(){}.type()

而且它起作用了!(或者我会试试Moshi)

EN

回答 1

Stack Overflow用户

发布于 2021-05-30 19:53:33

TypeToken的声明中有问题。你错过了前面的object :。因为它应该是匿名内部类。

应该是这样的:

代码语言:javascript
复制
val gson = Gson()
val json = "quiz.json"
val myType: Type = object : TypeToken<List<QuizType>>() {}.type
val quiz: List<QuizType> = gson.fromJson(json, myType)   
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67760505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档