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

如何使用System.Text.Json实现JSON字符串转义 替代Newtonsoft.Json方案

实现方案

你可以直接使用System.Text.Json.JsonSerializer.Serialize()方法序列化待转义的字符串,即可实现和Newtonsoft中JsonConvert.ToString()完全等效的JSON字符串转义效果。

替换代码示例

using System.Text.Json;
using System.Text.Encodings.Web;

// 原有序列化逻辑
var unescapedString = JsonSerializer.Serialize(MyObject);

// 方式1:使用System.Text.Json默认转义规则
// 会自动转义HTML敏感字符、非ASCII字符、JSON特殊字符,输出自带外层双引号
var escapedJsonString = JsonSerializer.Serialize(unescapedString);

// 方式2:对齐Newtonsoft默认转义规则
// 不额外转义非ASCII字符、HTML敏感字符,仅转义JSON规范要求的特殊字符
var serializeOptions = new JsonSerializerOptions
{
    Encoder = JavaScriptEncoder.UnsafeRelaxedJsonEscaping
};
var escapedJsonString = JsonSerializer.Serialize(unescapedString, serializeOptions);

补充说明

如果你不需要单独获取未转义的序列化结果,也可以直接在首次序列化MyObject时就配置对应转义规则,减少重复序列化的性能开销。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 12:15:04