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으로 파싱하는 부분에 대해 잘 모르겠습니다.
혹시 시간이 나신다면 이 문제를 해결해주신다면 대단히 감사드리겠습니다.
다음 수업도 기대하고 있습니다. 감사합니다!
제 깃허브에 프로젝트가 있습니다.
안녕하세요 장한님
여기에서는 따로 gson으로 데이터를 가공하거나 하지 않고 바로 response에서 받아줄 수 있습니다.
(데이터 response 형태가 가공하기 쉬운 형태)
친절한 JETPACK 개론 수업도 수강하셨던데, 이 곳을 참고해서 저 부분 API를 받아오는 것을 어떻게 구현하셨는지 하나씩 설명해주시겠어요?
아마 천천히 해보시면 혼자서도 하실 수 있으실겁니다.
막히시는 부분이 있다면 알려주세요~
답글
이장한
2023.03.02앗 위에 강의 듣고 다시 해보니 멀끔히 해결되었습니다 감사합니다!!