Я пытаюсь поймать ответ API с модификацией в kotlin android, но всегда получаю эту ошибку
Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $
Я пытаюсь найти решение и нашел это
но не решить мою проблему
это мой ответ API
![enter image description here](https://i.stack.imgur.com/SSlhO.png)
и моя модель
@Parcelize
class ProdekselResponse(
var status : String,
var data : ArrayList<Prodeksel> = arrayListOf<Prodeksel>()
) : Parcelable
@Parcelize
class Prodeksel(
var id : String,
var nomor_kk : String,
var nik_kk : String,
var nama_kk : String
) : Parcelable
мой код запроса в viewmodel
message.postValue("loading")
val Client = Client()
val apiRoute: Route = Client.getClient()!!.create(Route::class.java)
apiRoute.getProdeksel(user_id.toString(),page.toString()).enqueue(object :
Callback<ProdekselResponse> {
override fun onResponse(call: Call<ProdekselResponse>, response: Response<ProdekselResponse>) {
if(response.code() == 200) {
var data = response.body().data
listProdeksel.postValue(data)
message.postValue("success")
} else {
message.postValue("error")
}
}
override fun onFailure(call: Call<ProdekselResponse>, t: Throwable){
Log.e("Ops", t.message)
message.postValue("error")
}
})
return message
мой код модификации
val interceptor = HttpLoggingInterceptor()
interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
val okHttpClient = OkHttpClient.Builder()
.readTimeout(60, TimeUnit.SECONDS)
.connectTimeout(60, TimeUnit.SECONDS)
.addInterceptor(interceptor)
.build()
retrofit = Retrofit.Builder()
.baseUrl(BASE_URL)
.client(okHttpClient)
.addConverterFactory(GsonConverterFactory.create())
.build()
@GET("prodeskel/mobile/data")
fun getProdeksel(@Query("user_id")user_id : String,@Query("page")page : String?): Call<ProdekselResponse>
я использую laravel в бэкэнде API
return response()->json(['status' => 'Resource found', 'data'=>$datas], $this->successStatus);