Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/297.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用Json.NET StringEscapeHandling.EscapeNonAscii_C#_.net_Json_Escaping_Json.net - Fatal编程技术网

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