当前位置: 首页 > 知识库问答 >
问题:

如何对HTML转义符号进行改型?

孔深
2023-03-14
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有文本时:

希尔赫&安培;合身

共有1个答案

齐招
2023-03-14

作为一个通用的解决方案,这可以通过自定义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中使用该代码时,该代码将显示为。