You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 07:52:52