카테고리 없음

파이선으로 받은 JSON 응답 파싱하기

이소금 2021. 5. 2. 19:00
반응형

**피가되고 살이되는 3시간 삽질 여정 기록

 

내가 예상한 시나리오는 이렇다.

cURL을 JSON 형식으로 요청 후 파싱해서 DB에 적재 후 데이터를 가공하고자 하는데,

API 요청 후 받은 응답을 처리하는 데 있어 애를 먹었다.

 

받은 응답은 분명 json 형태인데, 해당 객체를 직렬화 해야 가공이든 무엇이든 할까 싶어 json.dumps로

직렬화를 하려 했으나, 해당 에러를 계속해서 만났다..

TypeError: Object of type Response is not JSON serializable

Json 응답 후 가공 전

(직렬화 : 객체 > 문자열

역직렬화 : 문자열 > 객체)

 

찾아보니, json 모듈 호출 시에 해당 객체를 돌면서(iteration) 내부 value를 string으로 변환하는 작업을 거쳐야 하는데, 내부에 json 모듈이 읽을 수 없는 형식이 포함되어 있으면 변환할 수 없게 되면서 Type Error가 나게 되는 것이다.

해당 에러가 발생하는 기점을 찾아 raiseError 후 해당 부분을 json이 읽을 수 있는 형태로 바꿔준다면, 해당 에러가 나지 않게 될 것이다.

 

혹시나 해서, 저 응답 그대로 출력해보려고 이리저리 갖고 놀다...

딕셔너리 형태인 것을 알게 되고..

결국 나는 "rows" 내 값만 필요했기 때문에...

 

해당 key값만 return했더니..

row값만 그대로 추출된 것이 아니겠는가....

자 이제 db에 적재해보자!

반응형