>웹 프론트엔드 >JS 튜토리얼 >JavaScript에서 ASP.NET MVC JsonResult의 비표준 날짜 형식을 처리하는 방법은 무엇입니까?

JavaScript에서 ASP.NET MVC JsonResult의 비표준 날짜 형식을 처리하는 방법은 무엇입니까?

DDD
DDD원래의
2024-12-20 18:22:12267검색

How to Handle ASP.NET MVC JsonResult's Non-Standard Date Format in JavaScript?

ASP.NET MVC JsonResult 날짜 형식

ASP.NET MVC에서 JsonResult를 반환할 때 날짜 속성이 다음과 같은 문제가 발생할 수 있습니다. "/Date(1239018869048)/"와 같은 형식으로 직렬화됩니다. 이 형식은 JavaScript로 읽을 수 없으며 애플리케이션에서 날짜를 처리할 때 문제를 일으킬 수 있습니다.

해결책 1: JavaScript에서 날짜 문자열을 수동으로 구문 분석

한 가지 접근 방식은 구문 분석하는 것입니다. 다음 코드를 사용하여 JavaScript에서 수동으로 날짜 문자열을 삭제합니다.

value = new Date(parseInt(value.replace("/Date(", "").replace(")/",""), 10));

이 코드는 "Date(" 및 ")"를 제거합니다. 문자를 문자열의 문자로 변환하여 Date 객체로 변환합니다.

해결책 2: Reviver 함수와 함께 JSON.parse() 사용

또 다른 옵션은 JSON을 사용하는 것입니다. .parse() 함수와 날짜 문자열을 Date 객체로 변환하는 부활 함수가 있습니다. 예:

var parsed = JSON.parse(data, function(key, value) {
  if (typeof value === 'string') {
    var d = /\/Date\((\d*)\)\//.exec(value);
    return (d) ? new Date(+d[1]) : value;
  }
  return value;
});

이 코드에서 Reviver 함수는 값이 문자열이고 "/Date((d*))/" 패턴과 일치하는지 확인합니다. 그렇다면 값은 Date 생성자를 사용하여 Date 객체로 변환됩니다. 그렇지 않으면 원래 값이 반환됩니다.

추가 고려 사항

JSON 사양은 표준 날짜 형식을 정의하지 않는다는 점에 유의하는 것이 중요합니다. ASP.NET MVC에서 사용하는 "/Date(ticks)/" 형식은 JSON이 Date 개체를 나타낼 수 있도록 하는 규칙입니다.

JavaScript에서 날짜를 처리할 때 다음 사항을 고려해야 합니다.

  • Date.parse() 함수를 사용하여 날짜 문자열을 구문 분석할 수도 있지만 몇 가지 제한 사항이 있습니다.
  • 정확한 시간을 지정해야 할 수도 있습니다. 날짜가 올바르게 처리되도록 Date 객체를 생성할 때 영역을 지정합니다.
  • ES6에서는 많은 프로그래밍 언어에서 인식되는 표준 형식인 ISO 8601 형식으로 날짜를 반환하는 새로운 Date.toISOString() 메서드를 도입했습니다. 및 애플리케이션.

위 내용은 JavaScript에서 ASP.NET MVC JsonResult의 비표준 날짜 형식을 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.