1
我正在使用Json.net反序列化Web API調用接收的Json數據。有些字段通常具有html編碼字符,例如"
或&
如何在反序列化期間自動解碼此字符?解碼Json反序列化期間的Html編碼字符
我來到了2級可能的解決方案:
在屬性setter調用
System.Web.HttpUtility.HtmlDecode()
像: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)); } }
ReadJson()
方法調用
System.Web.HttpUtility.HtmlDecode()
public string Title
{
set
{
title = System.Web.HttpUtility.HtmlDecode(value);
}
}
編寫自定義JsonConverter
但是,有沒有任何內置的解決方案,允許在json反序列化過程中執行html解碼而無需額外的代碼?