Python读取JSON文件获取登录信息时遇TypeError错误求助
解决读取JSON文件时的TypeError问题
嗨,我来帮你搞定这个问题~你遇到的TypeError是因为搞混了json.load()和json.loads()的用法啦!
问题原因
json.loads()的后缀s代表string,它只能处理字符串、字节这类文本数据;而你现在传给它的是open()返回的TextIOWrapper文件对象,这就导致了类型不匹配的错误。正确的做法是用json.load(),它可以直接读取并解析文件对象里的JSON内容。
修正后的代码
首先别忘了导入json模块(你的原代码里好像漏掉了这个),然后把json.loads()改成json.load():
import json def readJson(filename): with open(filename, 'r') as f: data = json.load(f) # 这里替换成json.load即可 return data userData = readJson('UserInfo.json') print(userData['username'])
额外优化建议
为了让代码更健壮,你可以加入异常处理,应对文件不存在、JSON格式错误的情况:
import json def readJson(filename): try: with open(filename, 'r') as f: data = json.load(f) return data except FileNotFoundError: print(f"错误:找不到文件 {filename}") return None except json.JSONDecodeError: print("错误:JSON文件格式不正确") return None userData = readJson('UserInfo.json') if userData: print(userData['username'])
内容的提问来源于stack exchange,提问作者Heroic
相关产品推荐
相关产品推荐

