• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    해결됨

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

23.10.18 21:44 작성 조회수 93

0

위 캡쳐본에서 "language" : {"Java" : "basic", "Java" : "advance"} 라고 작성 시

출력 부분에서 "language" : {"Java" : "advance"}만 출력이 됩니다.

 

"language" : {"Java" : "basic", "Java2" : "advance"}라고 작성 시

출력 부분에서 "language" : {"Java" : "basic", "Java2" : "advance"}가 출력됩니다.

 

전자의 경우는 Java값이 업데이트 되었다고 인식되어 advance만 출력이 되는건가요?

 

 

답변 1

답변을 작성해보세요.

0

안녕하세요. 답변 도우미입니다.

네, 맞습니다! Python의 딕셔너리에서 키는 유일해야 합니다. 따라서 "Java": "basic", "Java": "advance"와 같이 같은 키를 두 번 사용하면, 뒤에 오는 값으로 앞의 값을 덮어쓰게 됩니다. 이것이 왜 "Java": "advance"만 출력되는 이유입니다.

두 번째 예시에서는 "Java""Java2"라는 두 개의 다른 키를 사용했기 때문에 두 값이 모두 딕셔너리에 포함되어 출력됩니다.

따라서, 키가 중복되면 마지막에 지정된 값으로 덮어쓰기가 되므로 주의해야 합니다. 만약 여러 값을 같은 키에 저장하고 싶다면, 리스트나 다른 딕셔너리 등을 값으로 사용할 수 있습니다. 예를 들면:

"language": {"Java": ["basic", "advance"]}

이렇게 하면 "Java" 키에 대한 여러 가지 레벨을 리스트로 관리할 수 있습니다.

감사합니다.