Parse any JSON format by Retrofit

Narayan Panthi
1 min readJun 23, 2019

--

Parse invalid JSON format using retrofit

@GET("api.php")
Observable<Object> getTransportHistory();

Change your define model class parameter as -> Object

Example



Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://geomate.telematics.com.np/api/")
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJava2CallAdapterFactory.create())
.build();

Observable<Object> teamObservable = retrofit.create(TransportApiService.class)
.getTransportHistory(AppConstants.GPS_API, AppConstants.GPS_VERSION, AppConstants.GPS_KEY, AppConstants.GPS_CMD_GET_MESSAGE + ("," + gpsImeiNo + startEndDateCombined))
.subscribeOn(Schedulers.io())
.retry(AppConstants.API_RETRY_COUNT)
.observeOn(AndroidSchedulers.mainThread());

DisposableObserver<Object> dailyReportDisposableObserver = new DisposableObserver<Object>() {

@Override
public void onNext(Object stringData) {

if (getView() != null && stringData != null) {

Log.e("hello" + "onNext: ", new GsonBuilder().create().toJson(stringData));
}

}

@Override
public void onError(Throwable e) {

try {
getView().onTransportFailure(UtilitiesFunctions.handleApiError(e));

} catch (Exception ignored) {

}



}

@Override
public void onComplete() {

}
};

That’s all.

--

--

Narayan Panthi
Narayan Panthi

Written by Narayan Panthi

Software Engineer | Writes about Android |🇳🇵

No responses yet