从API解析Python 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

我正试图从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\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()