C# 如何使用Json.NET StringEscapeHandling.EscapeNonAscii
可能重复:C# 如何使用Json.NET StringEscapeHandling.EscapeNonAscii,c#,.net,json,escaping,json.net,C#,.net,Json,Escaping,Json.net,可能重复: 最新版本的Json.NET(4.5.11)包含StringEscapeHandling.EscapeNonAscii,它将转义所有非ASCII字符。但是,我不知道如何使用它。这些文档似乎没有我能找到的任何示例(只有发布说明) 有人能举个例子,使用EscapeNonAscii将对象序列化为JSON字符串吗 这个例子可能会有所帮助 string obj = "abcn\n\rüö&/<>"; Console.WriteLine(Serialize(obj, Stri
最新版本的Json.NET(4.5.11)包含
StringEscapeHandling.EscapeNonAscii
,它将转义所有非ASCII字符。但是,我不知道如何使用它。这些文档似乎没有我能找到的任何示例(只有发布说明)
有人能举个例子,使用
EscapeNonAscii
将对象序列化为JSON字符串吗 这个例子可能会有所帮助
string obj = "abcn\n\rüö&/<>";
Console.WriteLine(Serialize(obj, StringEscapeHandling.Default));
Console.WriteLine(Serialize(obj, StringEscapeHandling.EscapeHtml));
Console.WriteLine(Serialize(obj, StringEscapeHandling.EscapeNonAscii));
只是碰到了同样的问题。有没有办法使用标准的JsonConvert.Serialize对象来保存其他设置?@chester89有。这是设置对象Settings.StringEscapeHandling=StringEscapeHandling.EscapeHtml上的一个选项,您可以将其传递给JsonConvert()。@chester89就是一个例子
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();
}