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

读取嵌套JSON文件到Python字典时出现JSONDecodeError报错求助

JSONDecodeError 解决:属性名需双引号的问题

问题场景

读取包含嵌套字典的JSON文件时抛出错误:

JSONDecodeError: Expecting property name enclosed in double quotes: line 6 column 17 (char 301)

涉及的JSON文件内容:

{              "MLJobId": "Model",                  
                "training_config" : {
                "AlgorithmSpecification": {
                    "TrainingImage": "683313688378.dkr.ecr.us-east-1.amazonaws.com/sagemaker-xgboost:1.3-1",
                    "TrainingInputMode": "File"
                }
}
}

读取代码:

import json
with open ('param.json','r',encoding='utf-8') as f:
    data = json.load(f)

注:使用简单JSON可正常读取,曾误以为是嵌套值处理问题。

错误原因

这不是嵌套字典的问题,而是JSON语法严格要求所有属性名必须用双引号包裹,同时要保证括号完全成对。错误提示指向的位置大概率存在属性名未用双引号、括号不匹配,或存在全角字符/不可见特殊字符的情况。

修复方案

  1. 检查并修正JSON语法:

    • 确保所有属性名(如MLJobId、training_config)都用双引号包裹,禁止使用单引号或无引号
    • 核对括号配对:每个{必须对应一个},避免多写或漏写
    • 清除全角空格、特殊不可见字符等干扰内容
  2. 修复后的规范JSON示例:

{
  "MLJobId": "Model",
  "training_config": {
    "AlgorithmSpecification": {
      "TrainingImage": "683313688378.dkr.ecr.us-east-1.amazonaws.com/sagemaker-xgboost:1.3-1",
      "TrainingInputMode": "File"
    }
  }
}

验证

使用原读取代码加载修复后的JSON文件,即可正常解析嵌套字典结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 20:01:18