我在Python 3.5.1中收到此错误.
json.decoder.JSONDecodeError:期望值:第1行第1列(char 0)
这是我的代码:
import json
import urllib.request
connection = urllib.request.urlopen('http://python-data.dr-chuck.net/comments_220996.json')
js = connection.read()
print(js)
info = json.loads(str(js))
Run Code Online (Sandbox Code Playgroud)
Dan*_*owe 21
如果你查看你收到的输出print()以及你的Traceback,你会看到你得到的值不是字符串,它是一个字节对象(前缀为b):
b'{\n "note":"This file .....
Run Code Online (Sandbox Code Playgroud)
如果您使用诸如此类的工具获取URL curl -v,您将看到内容类型为
Content-Type: application/json; charset=utf-8
Run Code Online (Sandbox Code Playgroud)
所以它是JSON,编码为UTF-8,Python正在考虑它是一个字节流,而不是一个简单的字符串.要解析此问题,您需要先将其转换为字符串.
将最后一行代码更改为:
info = json.loads(js.decode("utf-8"))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
97546 次 |
| 最近记录: |