在使用Gson解析的时候发生如下错误:
com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 17 path $.forumbits[0].
http://stackoverflow.com/questions/27485346/malformedjsonexception-with-retrofit-api
Gson gson = new GsonBuilder()
.setLenient()
.create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://whatever.com")
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
//---------------------------------------------------------------------------------------------------------------------------------------
public class ThreadApi {
private ThreadService mThreadService;
/**
* BASE_URL必须以"/"来结尾。
*/
private static final String BASE_URL = ApiConst.LOGIN_BASE_URL;
public ThreadApi(OkHttpClient mOkHttpClient) {
Gson gson = new GsonBuilder().setLenient().create();
Retrofit retrofit = new Retrofit.Builder().addConverterFactory(GsonConverterFactory.create(gson))
.client(mOkHttpClient)
.baseUrl(BASE_URL)
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
mThreadService = retrofit.create(ThreadService.class);
}
public Observable<TopicBean> getHomepage() {
return mThreadService.getHomepage(12).subscribeOn(Schedulers.io());
}
}