You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在C#中将项目符号等特殊字符转为JSON转义格式?

C# 实现JSON字符串特殊字符转义方案

你需要的是将包含特殊字符的字符串转成符合JSON规范的转义序列,C#里有两种最常用的成熟解决方案,无需手动编写转义逻辑:

1. 使用.NET内置的System.Text.Json(.NET Core 3.0+ / .NET 5+ 原生支持)

直接利用JsonSerializer.Serialize方法,它会自动将所有非ASCII字符(比如项目符号•)转成\uXXXX格式的Unicode转义序列,同时把换行符转成\n,还会处理其他JSON需要转义的字符(比如双引号、反斜杠等)。

代码示例:

using System.Text.Json;

// 输入字符串
string input = @"• 3 Ply 330 3/16in x 1/16in(#77)
• 25 ft Long X 22 in Wide
• 2022 (2) Beltwall Blk Standard 4in (102mm)";

// 序列化得到带双引号的合法JSON字符串值
string jsonString = JsonSerializer.Serialize(input);
// 若不需要首尾的双引号(和你的示例输出格式一致),可以截取处理
string finalResult = jsonString.Substring(1, jsonString.Length - 2);

// 输出结果:\u2022 3 Ply 330 3/16in x 1/16in(#77)\n\u2022 25 ft Long X 22 in Wide\n\u2022 2022 (2) Beltwall Blk Standard 4in (102mm)
Console.WriteLine(finalResult);

2. 使用Newtonsoft.Json(Json.NET,兼容全.NET版本)

如果你的项目是.NET Framework或者需要更灵活的JSON处理,Json.NET的JsonConvert.ToString方法同样可以实现自动转义:

代码示例:

using Newtonsoft.Json;

// 输入字符串
string input = @"• 3 Ply 330 3/16in x 1/16in(#77)
• 25 ft Long X 22 in Wide
• 2022 (2) Beltwall Blk Standard 4in (102mm)";

// 生成带双引号的JSON字符串值
string jsonString = JsonConvert.ToString(input);
// 去掉首尾双引号得到目标格式
string finalResult = jsonString.Substring(1, jsonString.Length - 2);

// 输出符合要求的转义后字符串
Console.WriteLine(finalResult);

这两种方法都是通用方案,能处理所有JSON规范要求的转义场景,避免手动转义可能出现的遗漏或错误。

内容的提问来源于stack exchange,提问作者HerrimanCoder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 11:28:06