Python과 JavaScript 간의 JSON 날짜 시간
JSON을 사용하여 Python과 JavaScript 간에 날짜 시간 객체를 교환하는 것은 각각의 날짜와 JavaScript의 차이로 인해 어려울 수 있습니다. 시간 형식. 이 문제를 해결하기 위해 사용자 정의 JSON 직렬화 및 역직렬화 핸들러를 구현할 수 있습니다.
Python에서는 json.dumps 함수의 기본 매개변수를 사용하여 직렬화 핸들러 함수를 정의할 수 있습니다. 이 핸들러는 직렬화 중에 datetime 객체가 발견될 때마다 호출됩니다. 다음 코드 조각은 날짜/시간 객체를 ISO 8601 형식으로 변환하는 핸들러를 생성하는 방법을 보여줍니다.
date_handler = lambda obj: (
obj.isoformat()
if isinstance(obj, (datetime.datetime, datetime.date))
else None
)
json.dumps(datetime.datetime.now(), default=date_handler)
이것은 날짜/시간 객체를 ISO 8601 형식의 문자열로 출력합니다:
"2010-04-20T20:08:21.634121"
JavaScript에서는 사용자 정의 역직렬화 핸들러를 사용하여 수신된 ISO 8601 문자열을 다시 날짜/시간 객체로 변환할 수 있습니다. 포괄적인 역직렬화 처리기 함수는 다음과 같습니다.
function handler(obj) {
if (typeof obj === 'string') {
if (/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}/.test(obj)) {
// ISO 8601 Date string
return new Date(obj);
}
}
return obj;
}
이러한 사용자 정의 핸들러를 사용하면 JSON을 사용하여 Python과 JavaScript 간에 날짜/시간 객체를 원활하게 교환하여 두 플랫폼 간의 호환성을 보장할 수 있습니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3