gpt4 book ai didi

json.net - ASP.NET Web API 自定义 DateTime 示例值格式

转载 作者:行者123 更新时间:2023-12-04 21:01:06 24 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Specifying a custom DateTime format when serializing with Json.Net

(9 个回答)


7年前关闭。




我正在使用 Web API 帮助文档来连接 API 开发人员和 UI 客户端开发人员。
我想在帮助中定义的项目之一是日期格式。
并希望在 API 操作详细信息页面的请求/响应信息示例中对其进行自定义:

我有请求实体:

public class Request
{
public string Id {get;set;}
public string Type {get;set;}
public DateTime Date {get;set;}
}

这是帮助页面的默认表示:
{
"Id": "sample string 1",
"Type": "sample string 2",
"Date": "2014-08-12T19:33:09.6221727+00:00"
}

我希望它如下所示:
{
"Id": "sample string 1",
"Type": "sample string 2",
"Date": "08/13/2014"
}

我怎样才能实现这个目标?

最佳答案

原来 ASP.NET Web.API 使用通用的 Json.NET 格式化程序,您可以为此目的注册自己的日期转换器:

   public class MyDateFormatConverter : DateTimeConverterBase
{
public override object ReadJson(Newtonsoft.Json.JsonReader reader, Type objectType, object existingValue, Newtonsoft.Json.JsonSerializer serializer)
{
return DateTime.Parse(reader.Value.ToString());
}

public override void WriteJson(Newtonsoft.Json.JsonWriter writer, object value, Newtonsoft.Json.JsonSerializer serializer)
{
writer.WriteValue(((DateTime)value).ToString("d"));
}
}

然后在 GLOBAL(WebApiConfig,而不是 HelpPageConfig)配置中注册它:
config.Formatters.JsonFormatter.SerializerSettings.Converters.Add(new MyDateFormatConverter());

关于json.net - ASP.NET Web API 自定义 DateTime 示例值格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25272774/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com