Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Json解码错误-Json.loads()上出现奇怪字符,而不是文本_Python_Json - Fatal编程技术网

Python Json解码错误-Json.loads()上出现奇怪字符,而不是文本

Python Json解码错误-Json.loads()上出现奇怪字符,而不是文本,python,json,Python,Json,我正在尝试对进行API调用 我的代码片段- url = 'http://api.stackoverflow.com/1.1/badges/name' f = urllib2.urlopen(url) content = f.read() jsonobj = json.loads(content) print jsonobj 这给了我一个错误- ValueError:无法解码任何JSON对象 当我试图从上面的URL加载json对象时,它显示了乱码字符。您可以在此处看到输出- 如果转到,则文本通常

我正在尝试对进行API调用

我的代码片段-

url = 'http://api.stackoverflow.com/1.1/badges/name'
f = urllib2.urlopen(url)
content = f.read()
jsonobj = json.loads(content)
print jsonobj
这给了我一个错误- ValueError:无法解码任何JSON对象

当我试图从上面的URL加载json对象时,它显示了乱码字符。您可以在此处看到输出-

如果转到,则文本通常显示在浏览器窗口中

我尝试添加UTF-8编码-

jsonobj = json.loads(content, encoding = 'UTF-8')
但它仍然给出了相同的错误

根据返回的信息进行压缩。您必须解压缩二进制数据才能获得实际的JSON。您可以使用
gzip
StringIO
模块执行此操作:

url = urllib2.urlopen('http://api.stackoverflow.com/1.1/badges/name')
zippedContents = url.read()
sio = StringIO.StringIO(zippedContents)
gz = gzip.GzipFile(fileobj=sio)
print gz.read()
根据返回的信息进行压缩。您必须解压缩二进制数据才能获得实际的JSON。您可以使用
gzip
StringIO
模块执行此操作:

url = urllib2.urlopen('http://api.stackoverflow.com/1.1/badges/name')
zippedContents = url.read()
sio = StringIO.StringIO(zippedContents)
gz = gzip.GzipFile(fileobj=sio)
print gz.read()