为什么 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 字典和列表语法访问各个值。例如:
以上是为什么我的 JSON 解码器失败:数组与对象中的语法不正确?的详细内容。更多信息请关注PHP中文网其他相关文章!