我需要 Json.NET 使用 JavaScriptDateTimeConverter 和 ReferenceLoopHandling.Ignore 进行序列化。据我所知,JsonConvert.SerializeObject 上的任何签名都不允许设置这两个设置。
我可以:
var json = JsonConvert.SerializeObject(this.Data, new JavaScriptDateTimeConverter());
或者我可以这样做:
var json = JsonConvert.SerializeObject(this.Data, new JsonSerializerSettings()
{
ReferenceLoopHandling = ReferenceLoopHandling.Serialize
});
但我不能两者都做。我为 SerializeObject 得到的签名如下。第 6 个和第 5 个允许我分别执行上述操作。
我已经研究过在全球范围内设置这些设置,但我运气不佳。
有人知道使用这两种设置进行序列化的方法吗?