>source

처음으로 JSON을 사용하면 문제가 있습니다. TypeToken을 사용하고 가져 오려고 할 때 "해결되지 않은 참조 : TypeToken"오류가 발생합니다.

GSON이 구현되었습니다

implementation 'com.google.code.gson:gson:2.8.6'

typetoken 및 gson이 가져옵니다

import com.google.gson.Gson
import com.google.gson.reflect.TypeToken

내 code

val gson= Gson()
val json= "quiz.json"
val myType: Type= TypeToken<List<QuizType>>(){}.type()
val quiz: List<QuizType>= gson.fromJson(json, myType)

무엇이 잘못 되었습니까?

code를 사용하여 INREDOLVED REF ERROR "그러나 ''에 액세스 할 수 없습니다."': TypeToken을 마치면 "TypeToken'에서 Package-Private입니다. 어떤 오류가 발생했는지 확인할 수 있습니까?

Mayur Gajra2021-09-16 17:58:54

@mayurgajra 예,이 code를 컴파일 할 때도이 오류가 있습니다. 그러나 내가이 패키지를 어떻게 얻을 수 있는가?

Вікторія .Палихата2021-09-16 17:58:54

이것은 귀하의 질문에 대한 답변이 아닙니다. Kotlin에서는 Kotlin이 STDLIB에 작성된 UTH를 가지고 있기 때문에 TypeToken을 사용할 필요가 없습니다. val myType= TypeOf >(). JavaType. 지금은 여전히 ​​실험적인 상태에 있지만, 이미 오랫동안 거기에 있으며 변화하지 않는 것 같습니다.

broot2021-09-16 17:58:54

Kotlinx.Serialization 또는 Moshi를 통해 GSON을 선택한 이유가 있습니까?

Pawel2021-09-16 17:58:54

@ павел JSON과 함께 일하는 것에 대해서는 공부하고 아무것도 알지 못합니다.

Вікторія .Палихата2021-09-16 17:58:54
  • 답변 # 1

    선언에 문제가 있습니다.타급적...에 누락되었습니다객체 :앞에서. 익명의 내부 수업이되어야하기 때문에.

    다음과 같아야합니다.

    val gson= Gson()
    val json= "quiz.json"
    val myType: Type= object : TypeToken<List<QuizType>>() {}.type
    val quiz: List<QuizType>= gson.fromJson(json, myType)
    

    나는 아직도이 오류가 있고 다른 유형의 "표현식 '유형'유형 '유형을 얻습니다!' 함수로 호출 할 수 없습니다. 함수 'Invoke ()'를 찾을 수 없습니다 "

    Вікторія .Палихата2021-09-16 17:58:54

    @ вікторія.палихата 어떤 오류가 발생 했습니까?

    Mayur Gajra2021-09-16 17:58:54

    "유형 '유형'유형 '유형' 함수로 호출 할 수 없습니다. 함수 'Invoke ()'를 찾을 수 없습니다 "

    Вікторія .Палихата2021-09-16 17:58:54

    @ вікторія.Палихата 시도한 새 code를 업데이트 할 수 있습니까? &또한 질문에 모든 가져 오기 명령문을 추가하도록 요청할 것입니까?

    Mayur Gajra2021-09-16 17:58:54

    아마도 당신은 그것을 사용하는 데 도움이되는 일부 플러그인을 설치했을 수도 있습니다.

    Вікторія .Палихата2021-09-16 17:58:54
  • 이전 c# : 다른 프로젝트에서 AppSettings에 액세스하는 방법
  • 다음 laravel : LARAVLES가 많은 관계를 위해 빈 배열을 반환하는 이유는 무엇입니까?