首页 > 后端开发 > Python教程 > 为什么我的 JSON 解码器失败:数组与对象中的语法不正确?

为什么我的 JSON 解码器失败:数组与对象中的语法不正确?

DDD
发布: 2024-12-15 17:04:13
原创
822 人浏览过

Why Does My JSON Decoder Fail:  Incorrect Syntax in Arrays vs. Objects?

为什么 JSON 解码失败:语法无效

提供的 JSON 数据出现错误,导致 Python 无法成功解析它。根本原因在于“masks”和“parameters”元素的语法不正确。

JSON 对象与数组的语法

JSON 对象,它们是等效的对于 Python 中的字典,用大括号 {} 括起来。数组在 Python 中表示为列表,用方括号 [] 括起来。

JSON 数据中的错误

给定的 JSON 数据错误地使用 [] 而不是 { } 对于“掩码”和“参数”。此语法错误会导致错误消息:

json.decoder.JSONDecodeError: Expecting ',' delimiter: line 13 column 13 (char 213)
登录后复制

更正 JSON 语法

要修复语法错误,请将“掩码”和“参数”周围的括号括起来应该用花括号代替。更正后的 JSON 数据应如下所示:

{
    "maps": [
        {
            "id": "blabla",
            "iscategorical": "0"
        },
        {
            "id": "blabla",
            "iscategorical": "0"
        }
    ],
    "masks": {
        "id": "valore"
    },
    "om_points": "value",
    "parameters": {
        "id": "valore"
    }
}
登录后复制

用于解析有效 JSON 的 Python 代码

一旦 JSON 数据被更正,Python 代码就可以成功解析它使用 json.load() 方法。提供的代码可按如下方式使用:

import json
from pprint import pprint

with open('data_fixed.json') as f:
    data = json.load(f)

pprint(data)
登录后复制

此代码将使用 pprint() 函数以可读格式打印 JSON 数据的内容。

提取值来自 JSON

解析 JSON 数据后,可以使用 Python 字典和列表语法访问各个值。例如:

  • 数据['maps'][0]['id']
  • 数据['masks']['id']
  • 数据['om_points']

以上是为什么我的 JSON 解码器失败:数组与对象中的语法不正确?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板