【发布时间】:2019-03-02 10:50:44
【问题描述】:
我使用 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 转义的 synbol?
【问题讨论】:
-
为什么要 Retrofit 来做这项工作?从Retrofit 中获得here 这样的字符串后,您不能只在java 中取消转义字符串吗?还是有可能的。
-
我有大约 20 个 Pojo。他们每个人都使用改造来获得响应。我不想在 20 个地方这样做。我想把这个放在一个地方。
标签: java android gson retrofit2 html-escape