import simplejson as json
import requests
[...]
def __init__(self, id):
req = requests.get('http://api.example/%i?api_key=foo' % id)
data = json.loads(req.content)
self.name = data['name']
[...]
有更好的方式还是好方法?它有效,但我不知道它是否是一个好的方法。
答案 0 :(得分:1)
无论你是执行json.loads()还是req.json(),我都会编写我的函数来处理 req.content不是有效JSON的情况,例如404或500.
import simplejson as json
import requests
def jsonize(req):
try:
data = json.loads(req.content)
except json.JsonDecodeError:
data = {'error': req.status_code}
except Exception:
data = {}
return data
def __init__(self, id):
req = requests.get('http://api.example/%i?api_key=foo' % id)
data = jsonize(req)
if data and not 'error' in data:
self.name = data.get('name', "")