最新版本的 Json.NET (4.5.11) contains StringEscapeHandling.EscapeNonAscii
,它转义了所有非 ASCII 字符。但是,我不知道如何使用它。文档似乎没有我能找到的任何示例(只有一个发布说明宣布它)。
有人可以展示一个将对象序列化为 JSON 字符串的示例,使用EscapeNonAscii
?
也许这个例子可以帮助
string obj = "abcn\n\rüö&/<>";
Console.WriteLine(Serialize(obj, StringEscapeHandling.Default));
Console.WriteLine(Serialize(obj, StringEscapeHandling.EscapeHtml));
Console.WriteLine(Serialize(obj, StringEscapeHandling.EscapeNonAscii));
public static string Serialize(object o,StringEscapeHandling stringEscapeHandling)
{
StringWriter wr = new StringWriter();
var jsonWriter = new JsonTextWriter(wr);
jsonWriter.StringEscapeHandling = stringEscapeHandling;
new JsonSerializer().Serialize(jsonWriter,o);
return wr.ToString();
}