使用 JSON 数据时,了解 JSON 对象和 JSON 字符串表示形式之间的区别至关重要。这种区别会影响我们操作和访问数据的方式。
在提供的代码中:
import json r = {'is_claimed': 'True', 'rating': 3.5} r = json.dumps(r) file.write(str(r['rating']))
问题是由于使用 json.dumps() 并随后尝试访问结果字符串中的键。 json.dumps() 将字典转换为 JSON 对象的字符串表示形式,而不是 JSON 对象本身。这意味着我们无法直接从字符串访问 JSON 对象的属性。
要解决这个问题,我们需要使用 json.loads() 将字符串转换回 JSON 对象。这允许我们使用点表示法或键值对访问 JSON 对象的属性。
<code class="python">import json r = {'is_claimed': 'True', 'rating': 3.5} r = json.dumps(r) # Converts to a JSON string loaded_r = json.loads(r) # Converts back to a JSON object print(loaded_r['rating']) # Accesses the 'rating' property</code>
在此修改后的代码中,我们首先使用 json.dumps() 将字典转换为字符串。然后,我们使用 json.loads() 将字符串转换回 JSON 对象。我们现在可以使用熟悉的点表示法访问“评级”属性。
以上是将字典转换为 JSON 时,请注意这个常见的陷阱的详细内容。更多信息请关注PHP中文网其他相关文章!