一尘不染

如何使用Json.NET StringEscapeHandling.EscapeNonAscii [重复]

json

Json.NET(4.5.11)的最新版本包含StringEscapeHandling.EscapeNonAscii,它转义了所有非ASCII字符。但是,我不知道如何使用它。这些文档似乎没有任何我可以找到的示例(只有发布它的发行说明)。

有人可以显示一个使用序列化对象为JSON字符串的示例EscapeNonAscii吗?


阅读 407

收藏
2020-07-27

共1个答案

一尘不染

也许这个例子可以帮助

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();
}
2020-07-27