我使用 Retrofit2 和 GSON 反序列化传入的 JSON。这是我在 Android 应用程序中的代码:
public class RestClientFactory {
private static GsonBuilder gsonBuilder = GsonUtil.gsonbuilder;
private static Gson gson;
private static OkHttpClient.Builder httpClient;
private static HttpLoggingInterceptor httpLoggingInterceptor
= new HttpLoggingInterceptor()
.setLevel(HttpLoggingInterceptor.Level.BASIC);
static {
gsonBuilder.setDateFormat(DateUtil.DATETIME_FORMAT);
httpClient = new OkHttpClient.Builder();
gson = gsonBuilder.create();
}
private static Retrofit.Builder builder = new Retrofit.Builder()
.baseUrl(BuildConfig.API_BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.client(httpClient.build());
private static Retrofit retrofit = builder.build();
}
如果传入的 JSON 中有任何 HTML 转义符号,例如&
Retrofit 不会对其进行转义。
例如,当传入的 json 有文本时:
健康与 健身
它按原样反序列化。
但我需要得到这个:
健康与健身
如何让 Retrofit 自动取消转义 HTML 转义的 synbols?