用于建造API的猎鹰



如何在falcon中获得falcon的req,而不是字符串为单独的钥匙值对。

如果{" a:213"," b":32435}我如何确保通过a,然后获得

的值

我希望以下代码对您有帮助。

json_data = json.loads(req.stream.read())
try:
    value_a = json_data['a']
except KeyError as k:
    print 'a is not passed'

不确定您是否要求,但是您可以通过以下方式将原始请求(req(转换为JSON:

if req.content_length:
   doc = json.load(req.stream)

我认为以下代码会帮助您:

json_data = json.loads(req.stream.read())

或如果要指定输入数据的特定编码格式。

json_data = json.loads(req.stream.read().decode('utf8'))

请让我知道您需要进一步澄清。

使用

stream = req.bounded_stream.read() 

stream = req.stream.read()

我创建了一个中间件的BodyParser类:

class BodyParser(object):
    def __init__(self, ctx):
        self.ctx = ctx
    def process_request(self, req, resp):
        if req.method.upper() in ['POST', 'PUT', 'PATCH']:
            stream = req.stream.read()
            if not stream:
                req.context['body'] = None
                return
            req.context['body'] = json.loads(stream)

希望它有帮助

在将REQ/ersp转换为JSON之后,

json.load(req.stream(

您可以将输出视为常规字典。

相关内容

  • 没有找到相关文章

最新更新