2014-07-16 1 views
1

최근 django 서버를 Python 버전 2.7.1에서 Python 버전 3.4.1로 변환했습니다. 내 request.body는 JSON에 직렬화 된 배열입니다. 직렬화가 해제되면 파이썬 목록이됩니다.Python : "import JSON ... json.loads (request.body)"2.7-> 3.4

불행히도, json.loads가 더 이상 raw 바이트를 사용하지 않는 것처럼 보일 것입니다 (이는 request.body입니다).

이 문제를 어떻게 해결할 수 있습니까?

def index(request): 
    if request.method == 'POST': 

     print("Made it here!") 
     registered = [] 
     notRegistered = [] 
     print("Is it this?") 

     print(repr(request.body)) 

     data = json.loads(request.body) 

     print("Did I make it here?") 

마지막 호출은 왜 그것이 내가 역 추적이 아니라 그냥 "마지막 줄보다 발생하는 기대

답변

1

json.loads()과 관련이있다 있으리라 믿고있어, 이는 실행하지 인쇄 결코 "실행,하지만 그 곁에 ... 내 경우

# Let's just assume the request is UTF-8 encoded. 
data = json.loads(request.body.decode('utf-8')) 
+0

내가 가지고는 request.body = STR : JSON = % 7B % 22layers % 22 % 3A %의 7B % 22BackgroundLayer %의 22 % 3 **, 및 JSON .loads 내게 오류가 발생 ValueError : 아무 JSON 개체를 디코딩 수, 왜? – Daviddd