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

使用JsonConvert.SerializeObject压缩JSON时日期被修改,如何解决?

解决JSON去缩进且不修改内容的问题

你的问题核心是反序列化时日期字符串被自动转换为DateTime对象,导致序列化后日期偏移变化。要只调整格式不改动内容,有两种可靠方法:

方法一:使用JToken直接处理

JToken会保留JSON的原始结构和值,不会自动解析日期为DateTime类型,直接调用ToString时指定无缩进即可:

var token = JToken.Parse(content);
var freeContent = token.ToString(Formatting.None);

方法二:配置JsonSerializerSettings禁用日期解析

通过设置DateParseHandling.None避免将日期字符串转为DateTime,同时指定Formatting.None去除缩进:

var settings = new JsonSerializerSettings
{
    DateParseHandling = DateParseHandling.None,
    Formatting = Formatting.None
};
var freeContent = JsonConvert.SerializeObject(JsonConvert.DeserializeObject(content, settings), settings);

这两种方法都能保证只去除JSON的缩进,完全保留原始的日期字符串和其他内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 09:34:52