一个项目符号如何在c#中成为JSON的u2022 ?



这不是JSON和转义字符的副本-这不能回答这个问题,因为这些代码示例是在JavaScript中-我需要c#。

什么c#方法/库将项目符号()转换为u2022?同样的转换器可以将换行字符转换为n。这些只是2个例子,但我正在寻找的整体解决方案是传递一个字符串(包含ASCII和特殊字符的组合),它将所有这些转换为相同的ASCII,但有特殊字符转义。例如,我需要以下字符串:
• 3 Ply 330 3/16in x 1/16in(#77)
• 25 ft Long X 22 in Wide
• 2022 (2) Beltwall Blk Standard 4in (102mm)

…改成这样:

u2022 3 Ply 330 3/16in x 1/16in(#77)nu2022 25 ft Long X 22 in Widenu2022 (2) Beltwall Blk Standard 4in (102mm)

…所以它可以成为一个有效的JSON字符串值。

为了找到这个问题的答案,我已经做了很多尝试,尽管我毫不怀疑这个问题的答案非常简单。

需要设置转义的字符。如果您正在使用Newtonsoft(注释表明您正在使用),那么默认情况下它只会转义控制字符(换行符等)。

你可以传递StringEscapeHandling选项。EscapeNonAscii让它转义所有可能的字符。

public string EncodeNonAsciiCharacters(string value) {
return JsonConvert.SerializeObject(value, Newtonsoft.Json.Formatting.None,
new JsonSerializerSettings { StringEscapeHandling = StringEscapeHandling.EscapeNonAscii }
);
}

最新更新