python json加載

| | | | | |

許多開發人員將程序數據存儲在 JSON 文件中;其他程序指的是要求您使用 JSON 的 API。事實上,您可以輕鬆找到 JSON 字典或其 Python 等效項的用例。

在處理 JSON 數據時,您可能會遇到 JSONDecodeError。在本指南中,我們將討論 JSONDecodeError 的原因以及如何解決它。

Python JSONDecodeError

Python JSONDecodeError 表示您的方式存在問題JSON 數據。例如,您的 JSON 數據可能缺少花括號,或者鍵沒有值,或者缺少其他一些語法。

要完全糾正 JSONDecodeError,您必須輸入一個 JSON 文件以查看問題所在。如果您預計將來會出現其他問題,則可以使用 try ... 塊來處理 JSONDecodeError。

後面是 JSONDecodeError 關鍵字,您應該會看到描述原因的簡短描述

所有格式正確的 JSON 應如下所示:

"value" 可以是任何有效的 JSON 值,例如列表、字符串或其他 JSON 對象。

A示例場景

我們正在構建一個程序,該程序存儲一個 JSON 對象列表,這些對象表示哪些計算機已分配給公司的員工。每個 JSON 對象應如下所示:

我們將這些 JSON 對象存儲在一個名為設備.json。該文件只包含一個條目:

要在我們的程序中讀取這些數據,我們可以使用 json 模塊:

讓我們從導入用於讀取 JSON 文件的 json 模塊開始。接下來,我們使用 open () 語句來讀取我們的 JSON 文件的內容。我們向控制台打印一條消息,告訴我們在執行 with 語句後設備數據已被檢索。

讓我們運行我們的代碼,看看會發生什麼:

我們的代碼返回了一個錯誤r long。我們看到Python在JSONDecodeError一詞之後描述了我們錯誤的原因。

解決方案

我們的JSONDecodeError告訴我們 JSON 數據中缺少一個冒號 (:)。這兩個點應該出現在第 16 列的第四行。如果我們查看我們的設備.json 文件中的這一行數據,我們可以看到我們的 JSON 不是有效:

我們的代碼中缺少冒號.要糾正這個錯誤,我們需要添加冒號:

現在我們已經解決了數據表示方式的問題,我們可以嘗試重新啟動程序:

我們的代碼工作正常。

或者,我們可以使用 try ... 處理程序來處理這個問題,這樣我們的代碼就不會立即如果我們遇到另一個格式問題,則拋出錯誤:

S並且我們的JSON數據有錯誤,這個程序會返回:

否則程序會讀取數據然後在控制台顯示如下文本:

結論

Python JSONDecodeError 表示JSON 對象的格式化方式存在問題。要修復此錯誤,您應該閱讀錯誤消息並將其用作修復 JSON 數據的指南。或者,您可以使用 try ... 塊來檢測和處理錯誤。

你想了解更多關於 Python 編碼的知識嗎?閱讀我們關於如何學習 Python 的指南。您將找到有關如何學習 Python 的專家建議以及幫助您擴展知識的學習資源列表。

Shop

Learn programming in R: courses

$

Best Python online courses for 2022

$

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News


Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method