🐍 使用 Python 进行 JSON 验证(JSON Validator 教程)
一、什么是 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日