我正在寻找编写一个JsonConverter在字符串中转义 HTML 的代码,除非[AllowHtml]已应用该属性;
private class ObjectWithStrings
{
// will be HTML-escaped
public string Name { get; set; }
// won't be escaped
[AllowHtml]
public string Unsafe { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
所以我试图用自定义的 ReadJson 属性编写一个 JsonConverter;
public override bool CanConvert(Type objectType)
{
return objectType == typeof(string);
}
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
var s = (string)reader.Value;
if (s == null)
{
return null;
}
// here I need to get …Run Code Online (Sandbox Code Playgroud) 最新版本的Json.NET(4.5.11)包含StringEscapeHandling.EscapeNonAscii,它可以转义所有非ASCII字符.但是,我无法弄清楚如何使用它.这些文档似乎没有我能找到的任何示例(只有发布说明宣布它).
有人可以展示一个将对象序列化为JSON字符串的示例EscapeNonAscii吗?