...只是想确认,由于最新的 soundcloud api 不提供数据接口,因此我们只能解析 http 请求的结果。
我担心的是生成的结构可能随时更改,从而使我的解析模式无效。还有其他人在做类似的事情吗?或更好?
...只是想确认,由于最新的 soundcloud api 不提供数据接口,因此我们只能解析 http 请求的结果。
我担心的是生成的结构可能随时更改,从而使我的解析模式无效。还有其他人在做类似的事情吗?或更好?
这是对的。所有 SoundCloud API 响应都将被序列化为 JSON 或 XML。我们非常重视向后兼容性,因此您可以依赖返回的格式和数据。
大多数语言至少有一个库能够自动将 JSON 解析为适当的数据类型(即散列数组)。在尝试访问密钥之前,您始终可以检查以确保其存在,例如在 Python 中:
import json
import urllib
url = 'https://api.soundcloud.com/tracks.json'
fp = urllib.urlopen('%s?%s' % (url, urllib.urlencode({
'client_id': 'YOUR_CLIENT_ID',
'limit': 2
})))
data = fp.read()
tracks = json.loads(data)
for track in tracks:
print track.get('title', 'No title available')
这有助于回答你的问题吗?