当前位置:  开发笔记 > 编程语言 > 正文

JSONDecodeError:期望值:第1行第1列

如何解决《JSONDecodeError:期望值:第1行第1列》经验,为你挑选了1个好方法。

我在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))

图片



1> Dan Lowe..:

如果你查看你收到的输出print()以及你的Traceback,你会看到你得到的值不是字符串,它是一个字节对象(前缀为b):

b'{\n  "note":"This file    .....

如果您使用诸如此类的工具获取URL curl -v,您将看到内容类型为

Content-Type: application/json; charset=utf-8

所以它是JSON,编码为UTF-8,Python正在考虑它是一个字节流,而不是一个简单的字符串.要解析此问题,您需要先将其转换为字符串.

将最后一行代码更改为:

info = json.loads(js.decode("utf-8"))

推荐阅读
linjiabin43
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有