2017-04-21 11 views
0

팰콘에서 req를 json으로 얻고 문자열을 별도의 키 값 쌍으로 얻지 못하는 이유는 무엇입니까?Falcon for building API

경우, { "A : 213", "B": 32435} 는 어떻게 확인합니까 전달 된 후, 그건 당신이 무엇을 요구 있는지 확인 아니

답변

0

의 값을 얻을 수 있지만, 당신이 당신을 변화시킬 수있다 사용하여 JSON 원시 요청 (REQ) :

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

나는 다음과 같은 코드가 도움이 될 것입니다 생각 :

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

또는 입력 데이터의 특정 인코딩 형식을 지정합니다.

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

추가 설명이 필요하면 알려 주시기 바랍니다.

0

사용

stream = req.bounded_stream.read() 

또는 내가 미들웨어로 BodyParser 클래스를 생성

stream = req.stream.read() 

:

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) 

그것이

희망이 도움