gpt4 book ai didi

c# - 在 Json 反序列化期间解码 Html 编码的字符

转载 作者:太空狗 更新时间:2023-10-30 01:32:50 25 4
gpt4 key购买 nike

我正在使用 Json.net 反序列化 Web API 调用接收到的 json 数据。某些字段通常包含 html 编码的字符,如 "& 如何在反序列化期间自动解码这些字符?

我得出了 2 种可能的解决方案:

  1. 在属性 setter 中调用 System.Web.HttpUtility.HtmlDecode(),例如:

    public string Title
    {
    set
    {
    title = System.Web.HttpUtility.HtmlDecode(value);
    }
    }
  2. ReadJson() 方法中编写调用 System.Web.HttpUtility.HtmlDecode() 的自定义 JsonConverter:

    public class HtmlEncodingConverter : Newtonsoft.Json.JsonConverter
    {
    public override bool CanConvert(Type objectType)
    {
    return objectType == typeof(String);
    }

    public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
    {
    return System.Web.HttpUtility.HtmlDecode((string)reader.Value);
    }

    public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
    {
    writer.WriteRawValue(System.Web.HttpUtility.HtmlEncode((string)value));
    }
    }

但是是否有任何内置解决方案允许在 json 反序列化期间执行 html 解码而无需额外代码?

最佳答案

System.Net.WebUtility.HtmlDecode()

HttpUtility.HtmlDecode()

是要走的路,没有关于 JsonSerializer 的内置内容。

关于c# - 在 Json 反序列化期间解码 Html 编码的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35973032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com