inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[중급편] 코인 가격 모니터링 앱 제작 (Android Kotlin)

빗썸 api로 체결 내역을 파싱하는 과정에서 나는 오류를 알고싶습니다.

1123

이장한
0

try {
    val gson = Gson()
    val gsonToJson = gson.toJson(result.data)

    val gsonFromJson = gson.fromJson(gsonToJson, RecentPriceData::class.java)


    //listof을 통해 list를 생성하고, gsonfromjson을 감싼다.
    val tradeHistoryList1 = TradeHistoryResult(coin, listOf(gsonFromJson)  )

    //우리가 정의한 리스트에 값을 추가한다.
    tradeHistoryList.add(tradeHistoryList1)
    Timber.d("체결내역 불러오기 성공")
} catch (e: java.lang.Exception) {
    Timber.d("체결내역을 가져오는데 오류가 발생")

개복치님, 안녕하세요? 강의를 잘 듣고 저만의 프로젝트를 개발하고 있습니다.

빗썸 api를 통해 거래내역을 가져오는 기능을 구현하려 하는데,

위 코드에서 오류가 발생하고 계속

catch구문이 실행됩니다. 아래는 자세한 오류 구문입니다.

D/SelectViewModel$getCurrentCoinList: com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 2 path $

 

제가 api사이트를 들어가본 결과,(예:https://api.bithumb.com/public/transaction_history/BTC_KRW)

date 부분이 []로 시작하는 리스트인데

이를 gson json으로 파싱하는 부분에 대해 잘 모르겠습니다.

혹시 시간이 나신다면 이 문제를 해결해주신다면 대단히 감사드리겠습니다.

 

다음 수업도 기대하고 있습니다. 감사합니다!

 

제 깃허브에 프로젝트가 있습니다.

 

https://github.com/guraudrk/coco/tree/master/app

답변 1

0

개복치개발자

안녕하세요 장한님

여기에서는 따로 gson으로 데이터를 가공하거나 하지 않고 바로 response에서 받아줄 수 있습니다.

(데이터 response 형태가 가공하기 쉬운 형태)

 

친절한 JETPACK 개론 수업도 수강하셨던데, 이 곳을 참고해서 저 부분 API를 받아오는 것을 어떻게 구현하셨는지 하나씩 설명해주시겠어요?

 

아마 천천히 해보시면 혼자서도 하실 수 있으실겁니다.

 

막히시는 부분이 있다면 알려주세요~

 

image

0

이장한

앗 위에 강의 듣고 다시 해보니 멀끔히 해결되었습니다 감사합니다!!