关于gson解析异常

报错信息

1
Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 1 path $

报错原因

  • GsonConverterFactory使用时需要返回规范的JSON,而服务端没有按照标准返回。

解决办法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
static Retrofit getClient() {

Gson gson = new GsonBuilder()
.setLenient()
.create();

if (retrofit == null) {
retrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
}
return retrofit;
}

//GsonConverterFactory.create(gson)不使用默认的,使用带参数的。