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

如何在生成新JSON文件时保留单引号而非转义为'?

问题解决:保留JSON字符串中的单引号

你的问题出在JSON序列化环节的字符转义处理上,以下是具体解决步骤:

问题根源

System.Text.Json默认序列化逻辑在部分场景下会将单引号转义为HTML实体',导致原字符串Hen's Secret Bra被错误转换。即便你没有显式调用HTML编码方法,也可能因默认配置触发该行为。

修复方案

修改序列化代码,通过指定JsonSerializerOptions禁用不必要的字符转义,确保单引号正常保留:

// 定义序列化配置选项
var serializeOptions = new JsonSerializerOptions
{
    Encoder = System.Text.Encodings.Web.JavaScriptEncoder.UnsafeRelaxedJsonEscaping,
    WriteIndented = true // 可选参数,让生成的JSON格式更易读
};

// 使用带配置的序列化方法写入文件
File.WriteAllText(jsonFile, JsonSerializer.Serialize(sampleNew, serializeOptions));

额外逻辑修正

你的代码中存在一个计数器的逻辑错误:intCounter在foreach循环内部声明,每次循环都会重置为0,导致所有文件都会把0替换成5000,无法实现按文件顺序递增替换。需要将计数器声明移到循环外部:

// 将计数器移至循环外,保证递增逻辑生效
int intCounter = 0;
foreach(var jsonFile in jsonFiles)
{
    var newIntCounter = intCounter + 5000;
    var Counter = intCounter.ToString();
    var newCounter = newIntCounter.ToString();

    // ... 其余业务代码 ...

    intCounter++;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 05:54:18