인프런 커뮤니티 질문&답변

katherine님의 프로필 이미지
katherine

작성한 질문수

처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part2]

JSON 포맷 이해와 파이썬으로 JSON 파일 다루기

json.dumps()내용을 보다가, 딕셔너리형에 대해 혼란이 생겼습니다ㅜㅜ

작성

·

468

0

딕셔너리 형(JSON 타입)을,
{ "id":"01", "language": {"Java":"basic", "Java":"advance"}, "edition": "third", "author": "Herbert Schildt" }
json.dumps() 를 통해, 문자열 데이터로 변환하는 것이라고 하셨는데요,

print 값에는 전혀 변화가 없어 보입니다.(
"Java":"basic"이 출력 되지 않는 이슈는 이전 질문 내용을 통해 확인 했습니다.)
완전히 동일한 값이 출력됐고, 끝에 <class 'str'> 라고 타입명만 더 붙어 있는 것 말고는 차이가 없네요ㅠㅠ 
{"id": "01", "language": {"Java": "advance"}, "edition": "third", "author": "Herbert Schildt"} <class 'str'>

도대체 뭐가 바뀐 것인가요? {key:value}는 딕셔너리로 알고있는데, 문자열이라니 헷갈립니다.
json.loads()는 완벽하게 이해가 되지만, json.dumps() 예제가 어렵습니다.

다른 경우나, 다른 예제에서는 구분이 되는 것일까요?
파이썬 기초는 배웠습니다... 혹시 뭔가 더 있나 싶어 자바스크립트 JSON 개념도 살펴봤지만 모르겠습니다.
조금만 도와주실 수 있으실까요?


답변 1

0

안녕하세요.

데이터는 동일해보여도 데이터 타입은 다를 수 있잖아요.

예를 들어, 1 이라는 데이터가, 숫자 타입으로 저장되면, 숫자 타입의 1 이 되고, 문자 타입으로 저장되면 문자열 '1' 이 되죠. 그래서 int(), str() 과 같이 데이터 타입만 변경하는 함수도 있는 것이고요.

마찬가지로, json.loads() 와 json.dumps() 도 동일하게, 일종의 데이터 타입을 변경한 것이라고 이해하시면 어떨까요?

json.loads() 함수로 문자열로된 json 데이터를 사전처럼 다룰 수 있음

json.dumps() 함수로 파이썬 사전 데이터를 JSON 문자열 데이터로 변환할 수 있음

영상을 다시 한번 보시면서 이해해보셔도 좋고요. 기존의 파이썬 입문과 크롤링 부트캠프 강의를 함께 들어보시면서, 조금더 IT에 익숙해보셔도 좋고, 저의 경우는 다양한 검색을 통해, 동일한 기능을 어떻게 각자 설명했는지를 보면서, 이해의 폭을 넓혀보기는 합니다.

마지막으로 다음 '궁금한 점에 대한 답변 찾기 꿀팁' 글도 읽어보시면, 훨씬 도움이 되실 것 같습니다.
궁금한 점에 대한 답변 찾기 꿀팁!
궁금한 부분이 있거나, 문제가 있을 때, 항상 google.co.kr 에서 질문에 대해 검색해보세요! (아직까지는 네이버?로 검색하는 개발자는 없습니다.)
에러 메시지는 맨 마지막 라인을 복사해서 구글에서 검색해보시고, 질문에 대해서는 질문 관련 키워드들을 조합해서 구글에서 검색해보세요. 개발자들은 모두 이를 통해, 답변을 얻습니다. 한발짝 나아 가시려면, 반드시 이런 연습이 꼭 필요합니다.
저는 한가지 확인이 필요한 사안을 위해, 20 ~ 30분 검색과 10개 이상의 블로그를 찾아보는 일을 하루에도 한두번씩 한답니다.
검색이 처음이신 분들은 개발자를 위한 정보 검색 팁을 참고하시면 훨씬 성장하시는데 도움이 되실 것입니다.
두번째, 각 강의마다, 다른 분들께서도 이미 질문하신 사항들이 있습니다.
해당 부분을 확인해보시면, 답변을 기다릴 필요 없어서, 훨씬 도움이 되실 것 같습니다.
세번째, 각자 작성하신 코드 에러의 경우는
제가 제공해드린 코드자료를 수정하지 않고, 단계별로 그대로 실행해보신 후, 해당 코드와 자신의 코드가 어떤 부분이 다른지를 단계별로 확인해보시면, 훨씬 좋습니다.
키보드로 그대로 따라 치시기 보다, 제공해드린 코드를 그대로 복사해서 붙여넣고 테스트를 해보시면 좋고, 여기에서 자신의 코드와 다른 부분을 최대한 작게 쪼개서 조금씩 넣어보시면서, 테스트를 해보시면 가장 좋습니다. 각자 코드를 작성하신다면, 이렇게 작업해보시면 훨씬 도움이 되실꺼예요.
마지막으로, 질문하실 경우에는 어느 강의 영상의 어느 구간(가능하다면 몇분 몇초)에 대해 질문하시는 것인지 꼭 명기해주시면 좋습니다.
그래야 맥락이 이해가 가서, 보다 좋은 답변할 수 있습니다. 만약 구간 명기가 가능하지 않다면, 강의 영상 외적인 문의인지에 대해 확인 부탁드립니다. 본 질문 답변란은 강의 영상 이해를 돕기 위한 자리입니다. 강의 영상 외적인 부분은 양해를 부탁드립니다. 특히 극히 일부 개인별 코드 리뷰나 기능 구현등 무리가 되는 요청을 하시는 분들도 계셨는데, 좋은 강의가 선순환될 수 있도록 부탁드립니다.
잔재미코딩 Dave Lee 드림
katherine님의 프로필 이미지
katherine

작성한 질문수

질문하기