使用json.loads和dumps格式化JSON时遇TypeError问题求解
解决JSON序列化时的TypeError问题
嘿,这个问题我之前也踩过坑!咱们来快速搞懂咋解决:
错误原因拆解
你碰到的 TypeError: the JSON object must be str, not 'list' 其实很直白:
json.loads()的作用是把JSON格式的字符串转换成Python对象(比如列表、字典)- 但你传入的
coin已经是一个Python列表了,根本不需要再用loads去解析它,这就导致了类型不匹配的报错
修正后的代码
直接跳过多余的 loads 步骤,用 json.dumps() 直接格式化已有的Python列表就行:
import json # 假设coin已经是Python列表类型 print(json.dumps(coin, indent=4, sort_keys=True))
额外排查小技巧
要是你拿不准 coin 的类型,可以先打印确认:
print(type(coin)) # 输出会告诉你它是list还是str
如果输出是 <class 'str'>,那才需要先用 json.loads(coin) 转成Python对象,再用 dumps 格式化。
内容的提问来源于stack exchange,提问作者Phuc Coi
相关产品推荐
相关产品推荐

