오늘 라이브러리 Gson을 사용하다가 마주한 에러.
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 331
다른 곳에서 사용한 Gson parsing 코드를 그대로 복사붙여넣기했는데 특정 activity에서만 에러가 떠서 여기저기 뜯어보다가 알게됐다.
gson.fromjson(); 이 부분에서 터지는데, 결론적으로는 받아온 json의 값이 내가 준비해둔 class와 달라서.
원인을 찾아내면 해결책은 생각보다 간단하다.
1. 서버에서 Class를 수정한다.
2. 클라이언트에서 Class를 수정한다.
내 경우에는 1번이 정답이었다. JSONObject를 갖고있는 JSONArray를 넘겨주고 있었는데, 받아온 배열 중 JSONObject가 아닌 스트링을 보내고 있어서 자꾸 에러가 터졌다.
'에러' 카테고리의 다른 글
[Flutter] CFBundleIconFiles is not of the required type for that key (1) | 2024.08.21 |
---|---|
[Flutter] local notification plugin FCM 알림 에러 (0) | 2024.08.06 |
[iOS] Core data NSCocoaErrorDomain (0) | 2024.02.20 |
[mac] zsh: command not found: pod 에러 해결 (1) | 2024.02.13 |
Android Material Date Picker 오류 (0) | 2022.01.24 |