#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 修复JSON文件格式问题 将Python的None值替换为JSON标准的null值 使用方法: python fix_json_format.py """ import json import sys import os from pathlib import Path def fix_json_file(): """修复JSON文件中的None值问题""" # 源文件和目标文件路径 source_file = Path(__file__).parent.parent / "src" / "assets" / "工程研究中心.json" if not source_file.exists(): print(f"❌ 错误:找不到文件 {source_file}") return False try: print(f"📖 正在读取文件: {source_file}") # 读取文件内容 with open(source_file, 'r', encoding='utf-8') as f: content = f.read() print(f"✅ 文件读取成功,大小: {len(content)} 字符") # 替换None为null print("🔄 正在修复None值...") fixed_content = content.replace(': None,', ': null,') fixed_content = fixed_content.replace(': None}', ': null}') fixed_content = fixed_content.replace(': None]', ': null]') # 统计替换数量 none_count = content.count(': None,') + content.count(': None}') + content.count(': None]') print(f"🔧 找到并修复了 {none_count} 个None值") # 验证JSON格式 print("📝 正在验证JSON格式...") try: json.loads(fixed_content) print("✅ JSON格式验证通过") except json.JSONDecodeError as e: print(f"❌ JSON格式仍有问题: {e}") return False # 保存修复后的文件 print("💾 正在保存修复后的文件...") with open(source_file, 'w', encoding='utf-8') as f: f.write(fixed_content) print("🎉 文件修复完成!") return True except Exception as e: print(f"❌ 修复失败: {str(e)}") return False def main(): """主函数""" print("🚀 开始修复JSON文件格式...") print("=" * 50) success = fix_json_file() print("=" * 50) if success: print("🎉 修复成功!现在可以运行导入脚本了。") else: print("💥 修复失败!") input("\n按回车键退出...") if __name__ == "__main__": main()