JSON을 사용하여 Python과 JavaScript 간에 데이터를 전송할 때 datetime 객체 처리에 특별한 주의를 기울여야 합니다. 이 기사에서는 Python에서 날짜/시간 객체를 직렬화하고 JavaScript에서 이를 역직렬화하는 최적의 접근 방식을 살펴봅니다.
Python의 json.dumps 함수에서 기본 매개변수를 활용하여 날짜/시간 직렬화를 처리합니다.
<code class="python">date_handler = lambda obj: ( obj.isoformat() if isinstance(obj, (datetime.datetime, datetime.date)) else None ) json.dumps(datetime.datetime.now(), default=date_handler) # Output: '"2010-04-20T20:08:21.634121"' (ISO 8601 format)</code>
JavaScript에서 JSON.parse 함수를 사용하고 사용자 정의 부활 함수로 역직렬화를 처리합니다.
<code class="javascript">let date = JSON.parse(jsonString, (key, value) => { if (typeof value === 'string' && value.match(/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/)) { return new Date(value); } return value; });</code>
다양한 데이터 유형을 수용하기 위해 보다 포괄적인 기본 핸들러 기능을 정의할 수 있습니다.
<code class="python">import datetime def handler(obj): if hasattr(obj, 'isoformat'): return obj.isoformat() elif isinstance(obj, datetime.date): return str(obj) # Convert to string for date objects elif isinstance(obj, ...): return ... # Handle other types as needed else: raise TypeError('Cannot serialize object of type {} with value {}'.format(type(obj), repr(obj)))</code>
향상된 핸들러에는 다음이 포함됩니다.
위 내용은 Python과 JavaScript 간의 JSON 변환에서 날짜/시간 개체를 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!