You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

求助:为何这段JSON无法在Python中加载并解析?

解决JSON加载失败的问题

你遇到了两个关键问题,导致JSON解析一直失败,我来帮你一步步排查解决:

问题1:JSON字符串格式不规范

在你的JSON数据里,第一个email字段的值veljkov02@gail.com没有用双引号包裹——JSON规范明确要求所有字符串类型的值必须用双引号括起来,这是直接触发JSONDecodeError的核心原因。

问题2:脚本文件名与标准库冲突

你的脚本文件名叫json.py,当你执行import json时,Python会优先加载当前目录下的json.py,而不是Python标准库中的json模块。这会导致你调用的json.loads不是标准库的正确方法,进一步加剧了解析失败的问题。


修正后的完整代码

首先把你的脚本文件名改成别的(比如json_learn.py),然后替换成以下修正后的代码:

import json
# 修正了email字段的引号问题,同时格式化JSON方便阅读
data = '''{
    "people": [
        {
            "name": "veljko",
            "age": "20",
            "email": "veljkov02@gail.com",
            "educated": "true"
        },
        {
            "name": "aleksandar",
            "age": "24",
            "email": "marko99@gmail.com",
            "educated": "false"
        }
    ]
}'''
men = json.loads(data)
print(men)

验证步骤

  1. 务必重命名脚本文件,避免和Python标准库的模块名重复;
  2. 替换修正后的代码;
  3. 运行脚本,现在应该能正常解析JSON并打印出对应的字典数据了。

新手阶段可以用JSON格式校验工具(直接搜索“JSON validator”就能找到)快速排查格式问题,能节省不少时间~

内容的提问来源于stack exchange,提问作者Veljko2002

火山引擎 最新活动