JSON을 사용하여 Python과 JavaScript 간에 날짜/시간 개체를 변환하는 방법
JSON을 사용하여 Python과 JavaScript 간 날짜/시간 개체 변환
데이터 직렬화 및 역직렬화 영역에서 Python과 JavaScript 간의 날짜/시간 개체 교환은 JSON을 통한 JavaScript는 문제를 일으킬 수 있습니다. 이 문제를 어떻게 해결할 수 있는지 알아보고 이 변환을 처리하기 위한 최선의 접근 방식을 제시해 보겠습니다.
Python에서 직렬화
Python에서 datetime.datetime 개체를 Python으로 직렬화하려면 JSON에서는 Python의 내장 json.dumps() 함수를 사용할 수 있습니다. 그러나 날짜/시간 객체를 적절하게 처리하려면 사용자 정의 '기본값' 매개변수를 제공해야 합니다. 다음은 샘플 코드 조각입니다.
<code class="python">import datetime import json date_handler = lambda obj: ( obj.isoformat() if isinstance(obj, (datetime.datetime, datetime.date)) else None ) json_string = json.dumps(datetime.datetime.now(), default=date_handler) print(json_string) # Output: "2010-04-20T20:08:21.634121"</code>
이 접근 방식을 사용하면 날짜 및 시간 표현에 널리 지원되는 ISO 8601 형식으로 날짜/시간 개체가 직렬화됩니다.
JavaScript의 역직렬화
JSON.parse()와 같이 JSON 구문 분석을 처리하는 JavaScript 라이브러리를 사용하는 경우 자동으로 ISO 8601 문자열을 Date 객체로 역직렬화합니다. JavaScript에서는 다음과 같이 표시됩니다.
<code class="js">const json_object = JSON.parse(json_string); const js_date = new Date(json_object); // Converted to JavaScript Date object</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>
이 접근 방식을 활용하면 직렬화 중 다양한 객체 유형을 손쉽게 처리할 수 있습니다.
추가 참고 사항
- ISO 8601은 날짜와 시간을 기계가 읽을 수 있는 형식으로 표현하기 위한 표준입니다.
- 사용자 정의 처리기의 출력은 역직렬 변환기에서 예상하는 형식과 일치해야 합니다.
- 자세한 내용 자세한 내용은 Python의 json.dumps() 및 JavaScript의 JSON.parse() 설명서를 참조하세요.
위 내용은 JSON을 사용하여 Python과 JavaScript 간에 날짜/시간 개체를 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Fiddlerevery Where를 사용할 때 Man-in-the-Middle Reading에 Fiddlereverywhere를 사용할 때 감지되는 방법 ...

Linux 터미널에서 Python 사용 ...

10 시간 이내에 컴퓨터 초보자 프로그래밍 기본 사항을 가르치는 방법은 무엇입니까? 컴퓨터 초보자에게 프로그래밍 지식을 가르치는 데 10 시간 밖에 걸리지 않는다면 무엇을 가르치기로 선택 하시겠습니까?

Pythonasyncio에 대해 ...

Investing.com의 크롤링 전략 이해 많은 사람들이 종종 Investing.com (https://cn.investing.com/news/latest-news)에서 뉴스 데이터를 크롤링하려고합니다.

Python 3.6에 피클 파일 로딩 3.6 환경 오류 : ModulenotFounderRor : nomodulename ...

SCAPY 크롤러를 사용할 때 파이프 라인 파일을 작성할 수없는 이유에 대한 논의 지속적인 데이터 저장을 위해 SCAPY 크롤러를 사용할 때 파이프 라인 파일이 발생할 수 있습니다 ...
