🐍 使用 Python 進行 JSON 驗證(JSON 驗證器教學)
什麼是 JSON 驗證?
在 Web 開發和資料互動中,JSON(JavaScript Object Notation) 是最常用的資料格式之一。
它用於 API 通訊、設定檔、日誌儲存等場景。
但在開發過程中,我們經常會遇到:
- • JSON 檔案格式錯誤;
- • 括號未閉合;
- • 字串引號缺失;
- • 多餘的逗號等。
這些錯誤會導致程式無法解析 JSON 資料,因此在正式使用前,我們需要驗證(Validate)JSON 的格式是否正確。
使用 Python 驗證 JSON 格式
Python 內建了一個非常實用的模組 —— json,可以輕鬆完成 JSON 的載入與校驗。
✅ 範例 1:基礎驗證
import json
def validate_json(json_string):
try:
json.loads(json_string)
print("✅ JSON 格式正確!")
except json.JSONDecodeError as e:
print("❌ JSON 格式錯誤:", e)
# 範例 JSON
data = '{"name": "Alice", "age": 25}'
validate_json(data)執行結果:
✅ JSON 格式正確!如果輸入格式錯誤,例如:
data = '{"name": "Alice", "age": 25,}' # 多了一個逗號
validate_json(data)結果:
❌ JSON 格式錯誤:Expecting property name enclosed in double quotes: line 1 column 28 (char 27)✅ 範例 2:驗證 JSON 檔案
import json
def validate_json_file(file_path):
with open(file_path, 'r', encoding='utf-8') as f:
try:
json.load(f)
print(f"✅ 檔案 {file_path} 中的 JSON 格式正確!")
except json.JSONDecodeError as e:
print(f"❌ {file_path} 格式錯誤:{e}")
# 呼叫
validate_json_file('data.json')該腳本會自動讀取檔案並驗證內容是否是合法的 JSON。
增強版驗證:檢查結構與欄位
除了語法正確,有時我們還想驗證 JSON 的結構是否符合預期,比如必須包含 name、age、email 欄位。
可以使用第三方函式庫 jsonschema 來完成。
安裝:
pip install jsonschema範例:
from jsonschema import validate, ValidationError
# 定義資料結構
schema = {
"type": "object",
"properties": {
"name": {"type": "string"},
"age": {"type": "integer"},
"email": {"type": "string"}
},
"required": ["name", "age"]
}
# 測試資料
data = {"name": "Alice", "age": 25}
try:
validate(instance=data, schema=schema)
print("✅ JSON 資料結構合法!")
except ValidationError as e:
print("❌ JSON 結構錯誤:", e.message)執行結果:
✅ JSON 資料結構合法!如果缺少欄位或型別錯誤,會顯示清晰的錯誤提示。
完整範例:檔案批次驗證器
import os
import json
def validate_json_files(folder):
for file in os.listdir(folder):
if file.endswith('.json'):
path = os.path.join(folder, file)
try:
with open(path, 'r', encoding='utf-8') as f:
json.load(f)
print(f"✅ {file} 驗證通過")
except json.JSONDecodeError as e:
print(f"❌ {file} 格式錯誤:{e}")
# 批次驗證當前目錄下所有 JSON 檔案
validate_json_files(".")結語
使用 Python 驗證 JSON 不僅簡單高效,還能與自動化測試、資料匯入等流程整合。
您可以在專案中將 JSON 驗證作為一個獨立步驟,避免生產環境中因格式錯誤造成的介面異常。
如果您不想手動執行腳本,也可以直接使用我們的線上工具:
它支援:
- • 線上格式化與驗證
- • 一鍵美化與壓縮
- • 轉換為 CSV / XML
- • 自動修復常見語法錯誤
🔖 相關文章推薦
JSON Work 團隊 2025年1月15日