【发布时间】:2017-05-28 12:36:15
【问题描述】:
我有一个自定义 JSON 格式化程序,可以从 DateTime 值中删除时间戳。以下是代码:
var isoJson = JsonConvert.SerializeObject(value, new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd" });
return isoJson;
当我使用该格式化程序时,字符串被上述格式化程序序列化两次,并且因为我的 WebApiConfig 文件中的 JSON.Net 格式化程序。以下是 JSON.Net 格式化程序的代码:
config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));
当我删除 JSON.Net 格式化程序并使用我的自定义格式化程序时,JSON 会被序列化一次,但它会嵌入到 XML 中。
如何在不将 JSON 嵌入 XML 的情况下删除 JSON.Net 格式化程序并使用我的自定义格式化程序?
【问题讨论】:
-
您为什么要尝试全局替换转换器而不是将转换器属性应用于仅日期属性?这个similar question 展示了将
[JsonConverter(typeof(OnlyDateConverter))]添加到属性是多么容易
标签: c# json asp.net-web-api json.net