메모리 효율적인 JSON 파일 로드 탐구
메모리 제약이 있는 대용량 JSON 파일을 로드하는 것은 어려울 수 있습니다. 표준 json.load() 함수를 사용하여 전체 파일을 한 번에 읽으면 메모리 소모가 급증할 수 있습니다. 다행스럽게도 부분 파일 로드를 가능하게 하는 대안이 있습니다.
ijson 소개: JSON용 SAX 구문 분석기
SAX for XML과 유사한 ijson을 사용하면 사용자가 반복적으로 구문 분석할 수 있습니다. JSON 파일. 이는 텍스트 파일의 한 줄씩 반복하는 것과 유사하여 메모리 문제를 해결합니다.
ijson을 사용하여 JSON 파일의 일부 로드
ijson을 활용하려면 부분 JSON 파일 로드의 경우 다음 단계를 따르세요.
예제 코드
다음은 ijson을 사용하여 JSON 파일을 구문 분석하는 예입니다. :
<code class="python">import ijson for prefix, the_type, value in ijson.parse(open(json_file_name)): print(prefix, the_type, value)</code>
이 코드에서 접두사는 JSON 트리의 점으로 구분된 인덱스를 나타내고, the_type은 SAX와 유사한 이벤트를 나타내며, 값에는 개체의 값 또는 이벤트 유형의 경우 없음이 포함됩니다.
위 내용은 과도한 메모리를 소비하지 않고 대용량 JSON 파일을 효율적으로 로드하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!