5

重複の可能性:
Json.NET で StringEscapeHandling.EscapeNonAscii を使用する

Json.NET (4.5.11) の最新リリースには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 に答える