5

可能重复:
将 StringEscapeHandling.EscapeNonAscii 与 Json.NET 一起使用

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

有人可以展示一个将对象序列化为 JSON 字符串的示例,使用EscapeNonAscii

4

1 回答 1

8

也许这个例子可以帮助

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();
}
于 2013-01-01T01:09:54.450 回答