Python의 json.loads를 사용할 때 "ValueError: Extra data"
Python의 json.loads 함수를 사용하여 JSON 파일을 구문 분석할 때 , 다음 오류가 발생할 수 있습니다.
ValueError: Extra data: line 88 column 2 - line 50607 column 2 (char 3077 - 1868399)
이 오류는 다음에 추가 데이터가 있음을 나타냅니다. 유효한 JSON 구조의 일부가 아닌 JSON 파일.
원인
이 오류는 일반적으로 JSON 파일에 한 줄에 둘 이상의 JSON 개체가 포함되어 있을 때 발생합니다. json.loads는 단일 JSON 개체를 입력으로 예상하지만 첫 번째 개체 뒤에 추가 콘텐츠가 있는 경우 "추가 데이터" 오류가 발생합니다.
샘플 JSON
예를 들어 다음 샘플 JSON 파일을 생각해 보세요.
{"id": 123, "name": "John"} { "id": 456, "name": "Jane" }
이 파일에는 두 개의 JSON 개체가 포함되어 있지만 각 개체는 별도의 줄. json.loads가 첫 번째 객체를 발견하면 이를 구문 분석하고 두 번째 객체에 도달하면 오류를 발생시킵니다.
해결책
이 오류에 대한 해결책 각 JSON 개체가 파일의 자체 줄에 있는지 확인하는 것입니다. 파일을 수동으로 편집하거나 도구를 사용하여 JSON을 다시 포맷하면 됩니다.
반복적 구문 분석
JSON 파일이 크고 많은 JSON 개체가 포함된 경우 , 전체 파일을 메모리에 로드하지 않고 파일을 구문 분석하는 반복 접근 방식을 사용할 수도 있습니다.
import json tweets = [] with open('tweets.json', 'r') as file: for line in file: tweets.append(json.loads(line))
이 접근 방식에서는 파일은 한 줄씩 반복되며 각 줄은 JSON 개체로 구문 분석됩니다. 이렇게 하면 중간 Python 객체를 저장하지 않아도 되며 대용량 파일의 경우 더 효율적입니다.
위 내용은 Python의 json.loads를 사용할 때 'ValueError: Extra Data'가 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!