我目前从discogs API(mp3标签数据)获取JSON数据,并希望按键的值对结果进行排序.在这种情况下,我试图获取Guns n Roses歌曲的数据,输出有1988年作为第一个,而数据实际上有1987年的记录.我如何排序这些数据,以便我可以通过以下方式获取排序数据一年(奥尔德斯特到最新).下面的代码按键或值排序,但这不是我想要的.请帮忙.
import json
import urllib2
request = urllib2.Request('http://api.discogs.com/database/search?sort=year&sort_order=asc&artist=%22Guns+N%27+Roses%22&track=%22Sweet+Child+O%27+Mine%22&format_exact=Album&type=master')
request.add_header('User-Agent','Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')
request.add_header('Content-Type','application/json')
response = urllib2.urlopen(request)
json_raw= response.readlines()
json_object = json.loads(json_raw[0])
for row in json_object['results']:
try:
from operator import itemgetter
for k, v in sorted(row.items(), key=itemgetter(0)):
print k, v
except KeyError:
pass
Run Code Online (Sandbox Code Playgroud) 我想获得Discogs版本的图像.我可以不使用Discogs API吗?它们没有指向数据库转储中图像的链接.
我在客户端中使用 React 和 fetch 向Discogs API发出请求。在此 API 中,每分钟最多有 60 个请求的限制。为了管理此Discogs,在响应标头中添加自定义值,例如“剩余请求”、“已使用的请求”或“最大允许请求”,但由于cors,这些标头无法读取。
因此,我决定为此 API 创建一个请求包装器,从中我可以:
我已经成功地使用单例对象完成了一个工作示例,其中作业排队并通过 setTimeout函数延迟请求的调用进行管理。
当使用简单的回调时,这对我有用,但我不知道如何向 React 组件返回值以及如何使用 Promises 而不是回调(获取)来实现它。
我也不知道如何取消超时或来自反应组件的获取请求。
你可以查看这个例子,我已经简化了它。我知道这也许不是最好的方法,或者这段代码很糟糕。这就是为什么任何有关它的帮助或指导将非常感激。