JSON을 통해 Python과 JavaScript 사이의 날짜/시간 연속성을 유지하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2024-10-20 19:13:30
원래의
559명이 탐색했습니다.

How to Preserve Datetime Continuity Between Python and JavaScript via JSON?

JSON을 통해 Python과 JavaScript 간의 날짜/시간 연속성 유지

솔루션을 시작하기 전에 먼저 문제를 이해해 보겠습니다. Python에 직렬화하여 JSON을 통해 JavaScript로 전송해야 하는 datetime.datetime 개체가 있습니다. 도착 시 JavaScript는 왜곡 없이 날짜/시간 객체로 다시 역직렬화할 수 있어야 합니다.

이 문제를 해결하기 위해 json.dumps에 있는 JSON의 다용도 '기본' 매개변수가 해결책을 제공합니다. 이 매개변수를 사용하면 날짜 시간 객체에 대한 사용자 정의 직렬화 핸들러를 정의할 수 있습니다.

다음 핸들러는 직렬화 프로세스를 깔끔하게 처리합니다.

<code class="python">date_handler = lambda obj: (
    obj.isoformat()
    if isinstance(obj, (datetime.datetime, datetime.date))
    else None
)</code>
로그인 후 복사

적용되면 이 핸들러는 날짜 시간 객체를 ISO 8601 형식으로 변환합니다. 직렬화 중:

<code class="python">json.dumps(datetime.datetime.now(), default=date_handler)
'"2010-04-20T20:08:21.634121"'</code>
로그인 후 복사

더 복잡한 시나리오의 경우 포괄적인 처리기를 권장합니다.

<code class="python">def handler(obj):
    if hasattr(obj, 'isoformat'):
        return obj.isoformat()
    elif isinstance(obj, ...):
        return ...
    else:
        raise TypeError, 'Object of type %s with value of %s is not JSON serializable' % (type(obj), repr(obj))</code>
로그인 후 복사

이 처리기는 또한 더 나은 디버깅을 위해 개체 유형 및 값과 함께 향상된 오류 메시지를 생성합니다. 날짜 유형을 포함하면 날짜도 원활하게 처리됩니다.

위 내용은 JSON을 통해 Python과 JavaScript 사이의 날짜/시간 연속성을 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!