如何第一时间看到新文章?
收藏本博客列表页,并在首页与工具聚合页留意指南入口。阅读文章无需注册或邮件订阅。
学习如何使用 Python 内置的 json 模块和第三方库 jsonschema 来验证 JSON 格式和结构。包含完整代码示例和最佳实践。
在 Web 开发和数据交互中,JSON(JavaScript Object Notation) 是最常用的数据格式之一。
它用于 API 通信、配置文件、日志存储等场景。
但在开发过程中,我们经常会遇到:
这些错误会导致程序无法解析 JSON 数据,因此在正式使用前,我们需要验证(Validate)JSON 的格式是否正确。
Python 内置了一个非常实用的模块 —— json,可以轻松完成 JSON 的加载与校验。
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)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 jsonschemafrom 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 验证作为一个独立步骤,避免生产环境中因格式错误造成的接口异常。
如果你不想手动运行脚本,也可以直接使用我们的在线工具:
它支持:
致力于为开发者提供最佳的 JSON 处理工具
更多文章即将发布...
返回博客关于跟进更新、选题方向与互动反馈。
收藏本博客列表页,并在首页与工具聚合页留意指南入口。阅读文章无需注册或邮件订阅。
围绕 JSON 校验、格式化、转换与调试流程,以及 JSON Work 工具更新,与在线工具的本地能力一一对应。
可以。请通过关于页的联系方式或 GitHub 反馈;我们会优先安排贴近真实开发场景的教程。