JSon.net 날짜 포맷 설정 방식

2689 단어 Json.net날짜.포맷
JSon.net 기본 시간 포맷 후 T 를 가 져 옵 니 다.일반적인 업무 요구 에 부합 되 지 않 습 니 다.JSON.NET 의 기본 날짜 포맷 방식 을 다시 설정 합 니 다.코드 는 다음 과 같 습 니 다.

 /// <summary>
    /// Json.net      
    /// </summary>
    private static void DefaultJsonConvertSetting()
    {
      JsonSerializerSettings setting = new JsonSerializerSettings();
      JsonConvert.DefaultSettings = new Func<JsonSerializerSettings>(() =>
      {
        //           
        setting.DateFormatHandling = DateFormatHandling.MicrosoftDateFormat;
        setting.DateFormatString = "yyyy-MM-dd HH:mm:ss";

        //    
        //setting.NullValueHandling = NullValueHandling.Ignore;

        return setting;
      });
    }
다음은 JSon.Net 에서 속성 정의 날 짜 를 사용 하 는 직렬 화 형식 을 살 펴 보 겠 습 니 다.
하나의 실체 클래스 의 모든 시간,즉 DateTime 형식의 필드 가 통 일 된 형식 으로 처리 된다 면 다음 과 같은 방식 을 사용 할 수 있 습 니 다.

IsoDateTimeConverter timeFormat = new IsoDateTimeConverter();
      timeFormat.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
      JsonConvert.SerializeObject(stu, Newtonsoft.Json.Formatting.Indented, timeFormat);
돌아 가 야 할 형식 이 일치 하지 않 는 다 면,예 를 들 어 어떤 것 은 년 월 일이 필요 하고,어떤 것 은 년 월 일 시 분 초 이 며,이렇게 통제 할 수 없다.속성 정 의 를 통 해 해결 할 수 있 습 니 다.

public class student
  {
    public string Name { get; set; }
    public int Age { get; set; }
    [JsonConverter(typeof(DateFormat))]
    public DateTime BirthDay { get; set; }
    [JsonConverter(typeof(DateTimeFormat))]
    public DateTime CreateTime { get; set; }
  }
  public class DateFormat:IsoDateTimeConverter
  {
    public DateFormat()
    {
      base.DateTimeFormat = "yyyy-MM-dd";
    }
  }
  public class DateTimeFormat:IsoDateTimeConverter
  {
    public DateTimeFormat()
    {
      base.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
    }
  }
인 스 턴 스 데모:

student stu = new student()
       {
         Name = "  ",
         Age = ,
         BirthDay = new DateTime(, , ),
         CreateTime = DateTime.Now
       };
       string result = JsonConvert.SerializeObject(stu);

result = {"Name":"  ","Age":30,"BirthDay":"1986-07-16","CreateTime":"2016-01-16 23:13:34"}
이렇게 제어 하 는 입도 가 더욱 가 늘 어 졌 다.
총결산
위 에서 말 한 것 은 편집장 님 께 서 소개 해 주신 Json.net 날짜 포맷 설정 방식 입 니 다.여러분 께 도움 이 되 셨 으 면 좋 겠 습 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주세요.편집장 님 께 서 바로 답 해 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기