如何使用Json.NET StringEscapeHandling.EscapeNonAscii [

2019-07-17 17:56发布

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

Json.NET(4.5.11)的最新版本包含StringEscapeHandling.EscapeNonAscii ,它逃脱所有非ASCII字符。 但是,我想不出如何使用它。 该文档似乎不有,我可以找到(仅发行说明,宣布它)的任何实例。

可能有人表示序列化对象成JSON字符串,使用的例子EscapeNonAscii

Answer 1:

Maybe this example can help

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


文章来源: How to use Json.NET StringEscapeHandling.EscapeNonAscii [duplicate]