Expecting '' delimiter: line 1 column338941 (char 338940)
🚨 错误信息
出现错误:Traceback(most recent calllast):File "D:/Fallout 4/mod/AnimeRace Littleko x Hachiko !! 2024.12.07/AnimeRace Mod Mo2/plugins\rootbuilder\rootbuilder\plugins\rootbuilder_plugin_mapper.py",ine 19, in <lambda>self.organiser.onAboutToRun(lambda appName: self.build(appName))File "D:/Fallout 4/mod/AnimeRace Littleko x Hachiko !! 2024.12.07/AnimeRace Mod Mo2/plugins\rootbuilder\rootbuilder\plugins\rootbuilder_plugin_mapper.py",line 43, in buildself.rootBuilder.build0File *D:/Fallout 4/mod/AnimeRace Littleko x Hachiko !! 2024.12.07/AnimeRace Mod Mo2/plugins\rootbuilder\rootbuilder\rootbuilder.py*.line 42, in buildself.backup.backup0File *D:/Fallout 4/mod/AnimeRace Littleko x Hachiko !! 2024.12.07/AnimeRace Mod Mo2/plugins\rootbuilder\rootbuilder\(modules\rootbuilder_backup.py", line27, in backupfileData = self.getFileData0File “D:/Fallout 4/mod/AnimeRace Littleko x Hachiko !! 2024.12.07/AnimeRace Mod Mo2/plugins\rootbuilder\rootbuilder\(modules\rootbuilder_backup.py", line135, in getFileDatafileData = json.load(open(self.paths.rootCacheFilePathO."r",encoding="utf-8"))File "json\_init_-py", line 293, in loadFile "json\_init_py", line 357, in loadsFile "json\decoder.py", line 337, in decodeFile "json\decoder.py", line 353, in raw_decodejson.decoder.JSONDecodeError: Expecting '' delimiter: line 1 column338941 (char 338940)
🤖 AI解决方案
错误翻译
原文:json.decoder.JSONDecodeError: Expecting '' delimiter: line 1 column 338941 (char 338940)
译文:JSON解码错误:期望单引号分隔符,在第1行第338941列(字符位置338940)
原因分析
该错误发生在RootBuilder插件读取JSON缓存文件时,JSON文件格式损坏或编码错误:
rootbuilder_backup.py第135行,读取rootCacheFilePath文件时解决方案
python
修复方法1:添加错误处理和文件验证
def getFileData(self):
try:
with open(self.paths.rootCacheFilePath, "r", encoding="utf-8") as f:
# 先读取内容进行验证
content = f.read()
if not content.strip():
# 如果文件为空,返回空字典
return {}
fileData = json.loads(content)
return fileData
except json.JSONDecodeError as e:
print(f"JSON文件损坏,重新创建缓存: {e}")
# 删除损坏的文件并返回空数据
if os.path.exists(self.paths.rootCacheFilePath):
os.remove(self.paths.rootCacheFilePath)
return {}
except Exception as e:
print(f"读取文件错误: {e}")
return {}修复方法2:如果上述方法不适用,直接删除损坏的缓存文件
import os
if os.path.exists("D:/Fallout 4/mod/AnimeRace Littleko x Hachiko !! 2024.12.07/AnimeRace Mod Mo2/plugins/rootbuilder/cache.json"):
os.remove("D:/Fallout 4/mod/AnimeRace Littleko x Hachiko !! 2024.12.07/AnimeRace Mod Mo2/plugins/rootbuilder/cache.json")
️ 预防措施
建议重启Mod Organizer 2,RootBuilder会自动重新生成正确的缓存文件。