[Android | ๐Ÿšจ๋ฌธ์ œ] com.squareup.moshi.JsonEncodingException: Use JsonReader.setLenient(true) to accept malformed JSON at path $ (Moshi ์‚ฌ์šฉ ์ค‘์ผ๋•Œ!)

ํ•œ์‹œ์‚ผ์‹ญ์‚ฌ๋ถ„ยท2024๋…„ 1์›” 5์ผ

Android ๋ฌธ์ œ ํ•ด๊ฒฐ

๋ชฉ๋ก ๋ณด๊ธฐ
3/4

๋ฌธ์ œ

Moshi๋ฅผ ์‚ฌ์šฉํ•ด ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๋‹ค๊ฐ€ api ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋‚ ๋ฆฌ๊ณ ์„œ

com.squareup.moshi.JsonEncodingException: Use JsonReader.setLenient(true) to accept malformed JSON at path $

์™€ ๊ฐ™์€ ์—๋Ÿฌ๋กœ๊ทธ๋ฅผ ์ฐ์œผ๋ฉฐ ViewModel์˜ try catch ๋ฌธ์—์„œ ์˜ˆ์™ธ๋ฅผ ์žก์•˜๋‹ค.
SQL ์„œ๋ฒ„๋ฅผ ํ™•์ธํ•ด๋ณด๋‹ˆ ๋ฆฌํ€˜์ŠคํŠธ๋Š” ์ž˜ ๋“ค์–ด๊ฐ€ ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ์ด ์ž˜ ์ด๋ฃจ์–ด์กŒ๋Š”๋ฐ ๋ฆฌ์Šคํฐ์Šค๋ฅผ ๋ฐ›๋Š” ์ชฝ์—์„œ ์ƒ๊ธด ๋ฌธ์ œ ๊ฐ™์•˜๋‹ค.

ํ•ด๊ฒฐ

๊ฒ€์ƒ‰์„ ํ•ด๋ณด๋‹ˆ ๋‹ค๋“ค Gson์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ํ•ด๊ฒฐ๋ฒ•์€ ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์ž‡์—ˆ๋‹ค.
GsonConverterFactory.create()์˜ create() ์•ˆ์— Gson๊ฐ์ฒด๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค๋Š”๋ฐ, ๋‚˜๋Š” MoshiConverterFactory.create ์•ˆ์— moshi ๊ฐ์ฒด๋ฅผ ์ž˜ ๋„ฃ์–ด์ฃผ๊ณ  ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ๋ฌธ์ œ๋Š” ์•„๋‹ˆ์—ˆ๊ณ ,,,

ํ•ด๋‹น api์˜ ๋ฆฌ์Šคํฐ์Šค๊ฐ€ string ์ด์—ˆ๋Š”๋ฐ, ๋ฆฌ์Šคํฐ์Šค๊ฐ€ json์ด ์•„๋‹ˆ๋ผ์„œ ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋ผ๊ณ  ํ•˜๊ธธ๋ž˜ ๋ฐฑ์—”๋“œ์ชฝ์— json์œผ๋กœ ํ•œ๋ฒˆ ๊ฐ์‹ธ๋‹ฌ๋ผ๊ณ  ์š”์ฒญํ•œ๋’ค ๋‹ค์‹œ ๋ฆฌํ€˜์ŠคํŠธ๋ฅผ ๋‚ ๋ ค๋ณด๋‹ˆ ์—๋Ÿฌ๊ฐ€ ํ•ด๊ฒฐ๋๋‹ค.

profile
์ธ๊ฐ„์€ ๋ง๊ฐ์˜ ๋™๋ฌผ์ด๋ผ์ง€๋งŒ ์ด๊ฑด ๋„ˆ๋ฌดํ•œ ๊ฑฐ ์•„๋‹ˆ๋ƒ๊ณ 

0๊ฐœ์˜ ๋Œ“๊ธ€