Parse any JSON format by Retrofit
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.