嘗試從名為「new.json」的JSON 檔案中提取資料並將其儲存到新的JSON 中時文件,使用json.load() 時可能會遇到ValueError: Extra data 錯誤。
該錯誤表明 JSON 檔案中存在超出預期的其他資料。當 JSON 資料格式不正確或檔案末尾有尾隨字元時,可能會發生這種情況。
要解決此問題,請確保 JSON 資料「new.json」格式良好。這意味著它應該符合 JSON 語法規則,例如正確使用引號和大括號。此外,如果 JSON 物件的最後一個右大括號後面有任何尾隨字符,則必須將其刪除。
替代方法是不立即載入整個 JSON 文件,是逐行迭代文件並將每一行作為單獨的 JSON 物件載入。這允許您僅捕獲包含有效 JSON 資料的行。具體操作方法如下:
tweets = [] with open('new.json', 'r') as file: for line in file: # skip lines that don't contain JSON objects if not line.strip(): continue # try to load the line as JSON try: tweet = json.loads(line) except ValueError: # ignore lines that cannot be loaded as JSON continue # process the valid tweet data tweets.append(tweet)
此方法將跳過任何空白行或不包含有效 JSON 物件的行,從而減少遇到額外資料錯誤的可能性。
以上是為什麼 Python `json.loads` 會拋出 `ValueError: Extra Data` 錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!