为什么在python中使用json加载时出现解码错误?

时间:2019-05-01 13:20:52

标签: python json load

我尝试打开json文件,但出现解码错误。我找不到解决方案。我该如何解码这些数据?

代码给出以下错误:

UnicodeDecodeError:“ utf-8”编解码器无法解码位置3765中的字节0xf6:无效的起始字节

import json
url = 'users.json'
with open(url) as json_data:
     data = json.load(json_data)

1 个答案:

答案 0 :(得分:1)

这意味着您要解码的数据未使用UTF-8编码

编辑:

您可以在使用json将其加载到json之前对其进行解码:

with open(url, 'rb') as f:
  data = f.read()
  data_str = data.decode("utf-8", errors='ignore')
  json.load(data_str)

https://www.tutorialspoint.com/python/string_decode.htm

请注意,在此过程中您将丢失一些数据。一种更安全的方法是使用与编码JSON文件相同的解码机制,或将原始数据字节放入诸如base64之类的