작성
·
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에 익숙해보셔도 좋고, 저의 경우는 다양한 검색을 통해, 동일한 기능을 어떻게 각자 설명했는지를 보면서, 이해의 폭을 넓혀보기는 합니다.