首頁 > 後端開發 > Python教學 > 為什麼 Python `json.loads` 會拋出 `ValueError: Extra Data` 錯誤?

為什麼 Python `json.loads` 會拋出 `ValueError: Extra Data` 錯誤?

Mary-Kate Olsen
發布: 2024-11-24 15:30:14
原創
860 人瀏覽過

Why Does Python `json.loads` Throw a `ValueError: Extra Data` Error?

Python json.loads 顯示值錯誤:額外資料

嘗試從名為「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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板