使用 Python 进行 JSON 编码/解码
为了实现无缝数据交换和存储,将 Python 字典转换为 JSON(JavaScript 对象表示法)是一种常见的方法要求。但是,尝试从字典访问 JSON 数据时可能会出现意外错误。
遇到错误:
考虑以下代码片段:
<code class="python">r = {'is_claimed': 'True', 'rating': 3.5} r = json.dumps(r) file.write(str(r['rating']))</code>
当尝试从 JSON 字符串访问“评级”键时,出现“TypeError:字符串索引必须是整数,而不是 str”错误。出现此错误是因为 json.dumps() 将字典 'r' 转换为字符串,而不是实际的 JSON 对象或字典。
正确方法:
解决方法对于这个问题,利用 json.loads() 方法将 JSON 字符串加载回字典中。这允许您按如下方式访问“评级”键:
<code class="python">import json r = {'is_claimed': 'True', 'rating': 3.5} r = json.dumps(r) loaded_r = json.loads(r) print(loaded_r['rating'])</code>
理解区别:
json.dumps() 将字典保存为字符串,而 json.loads() 将其作为字典检索。序列化数据时记得使用 json.dumps(),反序列化时使用 json.loads()。
以上是从 Python 字典访问 JSON 数据时如何避免错误的详细内容。更多信息请关注PHP中文网其他相关文章!