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转义符号,例如&;
,referfit并不是不转义它。
例如。当传入的json有文本时:
希尔赫&安培;合身
作为一个通用的解决方案,这可以通过自定义JSONDESERIALISER
来完成,例如:
public class HtmlAdapter implements JsonDeserializer<String> {
@Override
public String deserialize(JsonElement json, Type typeOfT,
JsonDeserializationContext context)
throws JsonParseException {
return StringEscapeUtils.unescapeHtml4(json.getAsString());
}
}
并添加
gsonBuilder.registerTypeAdapter(String.class, new HtmlAdapter())
到你的静态块。方法stringescapeutils.unescapehtml4
来自外部库org.apache.commons,commons-text
,但是您可以使用任何感觉更好的方法。
问题内容: 我有一个Unicode转义的字符串: 我想将此字符串转换为unicode非转义版本 我该怎么做呢? 问题答案: 对其进行编码(使用任何编解码器,utf-8可能都可以),然后使用对其进行解码:
问题内容: 我到处都是,只找到了适用于python 2.6和更早版本的解决方案,没什么关于如何在python 3.X中做到这一点的。(我只能访问Win7框。) 我必须能够在3.1中做到这一点,并且最好不要使用外部库。目前,我已经安装了httplib2并可以访问命令提示符curl(这就是我获取页面源代码的方式)。不幸的是,据我所知,curl无法解码html实体,我在文档中找不到用于对其进行解码的命令
问题内容: 我需要取消转义包含转义的XML标签的xml字符串: 我确实找到了一些可以执行此任务的库,但是我宁愿使用可以执行此任务的单一方法。 有人可以帮忙吗? 干杯,Bas Hendriks 问题答案: (commons-lang,下载)
问题内容: 我正在从PHP数组创建JSON字符串。我已经使用对其进行了编码。 使用进行本地化,并可以通过全局变量进行访问。 在JS文件中,我可以通过以下方式访问信息: 结果是: 将结果输入http://jsonlint.com/会返回错误。删除“特殊”两边的双引号可验证字符串。 从PHP创建JSON字符串并正确转义以供JS文件使用的最佳方法是什么? 问题答案: 来自http://www.php.n
问题内容: 我必须形成一个JSON字符串,其中一个值具有换行符。必须对此进行转义,然后使用AJAX调用发布。任何人都可以提出一种使用JavaScript对字符串进行转义的方法。我没有使用jQuery。 问题答案: 使用您的JSON及其它。然后使用方法和替换所有出现的用。 编辑: 据我所知,还没有知名的JS库可用于转义字符串中的所有特殊字符。但是,您可以链接方法并替换所有特殊字符,如下所示: 但这很
问题内容: 我有一些XML文本希望在HTML页面中呈现。这段文字包含一个&符号,我想以其实体表示形式呈现。 如何在源XML中转义此“&”号?我试过了,但这被解码为实际的&字符(),在HTML中是无效的。 因此,我想以一种在使用XML输出的网页中进行呈现的方式对其进行转义。 问题答案: 当您的XML包含时,这将导致文本。 当您在HTML中使用该代码时,该代码将显示为。