在c# for JSON中,项目符号如何变为\u2022?

w46czmvw  于 2023-01-18  发布在  C#
关注(0)|答案(1)|浏览(184)

这不是JSON and escaping characters的副本-这没有回答这个问题,因为那些代码样本是在javascript -我需要C#。
什么C#方法/库转换项目符号()转换为\u2022?同样的转换器会将换行符转换为\n。这只是两个示例,但我寻找的总体解决方案是传入字符串(包含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)\n\u2022 25 ft Long X 22 in Wide\n\u2022 (2) Beltwall Blk Standard 4in (102mm)

...以便它可以成为有效的JSON字符串值。
为了找到这个问题的答案,我已经钻了十几个兔子洞,尽管我毫不怀疑这是一个简单得可笑的问题。
提前感谢您的帮助。

6rqinv9w

6rqinv9w1#

你需要设置哪些字符被转义。如果你正在使用Newtonsoft(注解表明你是),那么默认情况下它只会转义控制字符(换行符等)。
您可以传递选项StringEscapeHandling.EscapeNonAscii,让它转义所有可能的字符。

JsonConvert.SerializeObject(
    objectToSerialize,
    Formatting.None,
    new JsonSerializerSettings {
        StringEscapeHandling = StringEscapeHandling.EscapeNonAscii,
    }
);

相关问题