api 응답 json 구조가 대충


{response:  {head: *** ,

       body: {

              items: {••••••••••}

              }

       }

}


요런 구조인데


여기서 api 서버 상태에 따라 응답 구조가 달라지는 구조임

예를 들어 http 에러면 내 기억상

{response:  {errMsg: ***, Result뭐시기: ******}

}

이렇게 바뀌어서 들어오게 됨



내가 하고자 하는건, 저 json 응답을 딕셔너리로 변환하고 pd.DataFrame으로 넣어주고 싶은데


저 응답을 통채로 df에 넣으면 필요없는 데이터(head 라든가)들도 모조리 들어가버리는 데다가 핵심 데이터가 들어가있는 "items" 데이터를 따로 빼오는게 귀찮아져서 아예


response[response][body][items]


이런 식으로 데이터를 df에 넣어주려 하고 있음




그런데 내가 위에서 말했듯이

만약 api서버에서 에러가 발생하면 응답 구조가 바뀌어버리고 그러면 저 라인에서 반드시 에러가 출력되게 될건데

응답의 key값을 체크해줄 수 있으면 충분히 해결될 문제라고 보고는 있음


문제는 중첩된 딕셔너리 구조라서 딱 내가 원하는 "response", "body", "items" 이 세개의 키값이 있는지 바로 확인할 수 있는 방법을 모르겠음


일단 현재는 try문 사용중이고 만약 위 내용이 해결되면 그 방식대로 수정할 계획임

찾아보니 중첩 딕셔너리에서 키값 가져오고 싶으면 반복문을 사용해서 가져오라고는 하던데 꼭 반복문을 사용해야만 하나 궁금함...