从API解析Python JSON
我正试图从YQL解析JSON格式的数据,但它不起作用。具体来说,我得到以下输出:从API解析Python JSON,python,json,yql,Python,Json,Yql,我正试图从YQL解析JSON格式的数据,但它不起作用。具体来说,我得到以下输出: File "C:\Python34\lib\json\__init__.py", line 318, in loads return _default_decoder.decode(s) File "C:\Python34\lib\json\decoder.py", line 343, in decode obj, end = self.raw_decode(s, idx=_w(s,0).end
File "C:\Python34\lib\json\__init__.py", line 318, in loads
return _default_decoder.decode(s)
File "C:\Python34\lib\json\decoder.py", line 343, in decode
obj, end = self.raw_decode(s, idx=_w(s,0).end())
File "C:\Python34\lib\json\decoder.py", line 361, in raw_decode
raise ValueError(errmsg("Expecting value", s, err.value)) from None
ValueError: Expecting Value: line 1 column 1 (char 0)
这是我第一次尝试用Python做任何事情。我主要工作在C++和VBA,但这是我在学校里做的研究。
我还研究了其他类似的问题,但这些问题是从.txt文件解析的,而不是直接从互联网解析的。
任何人能提供的任何见解都将不胜感激——谢谢
这是我的密码:
import json
result = json.loads('http://query.yahooapis.com/v1/public/yql?q=select%20Ask%20from%20yahoo.finance.quotes%20where%20symbol%20IN%20(%22CL=F%22)&format=json&env=http://datatables.org/alltables.env') # result is now a dict
print (result['Ask'])
你必须先提取数据,然后才能解码。尝试使用
请求
模块获取数据
import requests
url = 'http://query.yahooapis.com/v1/public/yql'
params = {
'q': 'select Ask from yahoo.finance.quotes where symbol IN ("CL=F")',
'format': 'json',
'env': 'http://datatables.org/alltables.env'
}
response = requests.get(url, params=params)
data = response.json()
print (data)
你必须先提取数据,然后才能解码。尝试使用
请求
模块获取数据
import requests
url = 'http://query.yahooapis.com/v1/public/yql'
params = {
'q': 'select Ask from yahoo.finance.quotes where symbol IN ("CL=F")',
'format': 'json',
'env': 'http://datatables.org/alltables.env'
}
response = requests.get(url, params=params)
data = response.json()
print (data)
将传递的字符串转换为dict
对象。它不会进行URL调用,然后解析结果
你需要使用其中一种
还是图书馆
urllib2
或requests
将通过向URL发送请求来获取JSON数据。一旦收到数据,就可以使用json.loads()
解析它 将传递的字符串转换为dict
对象。它不会进行URL调用,然后解析结果
你需要使用其中一种
还是图书馆
urllib2
或requests
将通过向URL发送请求来获取JSON数据。一旦收到数据,就可以使用json.loads()
解析它
>>> import urllib2
>>> content = urllib2.urlopen(some_url).read()
>>> print json.loads(content)
>>> r = requests.get('https://api.github.com/user', auth=('user', 'pass'))
>>> print r.json()