我已全局明确配置我的MVC4应用程序以使用JSON.NET序列化程序.我知道在序列化日期时我可以选择使用ISO标准日期或旧的Microsoft日期格式.
但是我如何输出我自己的自定义dateTime格式字符串,如:"dd/MM/yyyy hh:mm".
我在插入Json.NET作为默认的序列化程序时可以在MVC3中执行此操作,但似乎无法在MVC4中执行此操作.
到目前为止我在application_start中做过:
var settings = GlobalConfiguration.Configuration.Formatters.JsonFormatter.SerializerSettings;
JsonSerializerSettings jSettings = new Newtonsoft.Json.JsonSerializerSettings()
{
Formatting = Formatting.Indented,
DateTimeZoneHandling = DateTimeZoneHandling.Utc,
};
jSettings.Converters.Add(new MyDateTimeConvertor() );
settings = jSettings;
Run Code Online (Sandbox Code Playgroud)
和我试图暗示的自定义转换器是这样的:
public class MyDateTimeConvertor : DateTimeConverterBase
{
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
{
return DateTime.Parse(reader.Value.ToString());
}
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
{
writer.WriteValue(((DateTime)value).ToString("dd/MM/yyyy hh:mm"));
}
}
Run Code Online (Sandbox Code Playgroud)
任何帮助,将不胜感激 :)
我目前正在使用 csvhelper 的 csvwriter 将扁平化的 DTO 对象写入 CSV。如果某些字段尚未初始化或在映射器中为空,是否有办法有条件地忽略它们?我看到忽略标志采用 boolean ,但是我如何访问有问题的字段来测试这一点。
如果这个问题在其他地方得到了解答,但我已经搜索了 github 问题以及 stackoverflow,我们深表歉意。