这是制作JSON请求的好方法吗?

时间:2014-01-04 19:26:29

标签: python json

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']

[...]

有更好的方式还是好方法?它有效,但我不知道它是否是一个好的方法。

1 个答案:

答案 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', "")