
json.loads() 함수는 JSON 데이터를 파이썬 객체로 변환할 때 사용됩니다. 하지만, 이 함수는 JSON 데이터가 파이썬 객체의 인덱스와 키를 사용할 수 있도록 변환하지 않습니다.
예를 들어, JSON 데이터가 다음과 같을 때, json.loads() 함수를 사용하여 파이썬 객체로 변환한 후, 인덱스와 키를 사용하여 데이터에 접근하려고 하면 오류가 발생합니다.
#hostingforum.kr
python
import json
data = '{"name": "John", "age": 30}'
obj = json.loads(data)
print(obj["name"]) # 오류 발생: TypeError: string indices must be integers
오류가 발생하는 이유는 json.loads() 함수가 JSON 데이터를 파이썬 객체로 변환할 때, 데이터가 딕셔너리 형태로 변환되지 않기 때문입니다.
오류를 해결하는 방법은 다음과 같습니다.
#hostingforum.kr
python
import json
data = '{"name": "John", "age": 30}'
obj = json.loads(data)
print(obj['name']) # "John" 출력
print(obj['age']) # 30 출력
위 코드에서 obj는 딕셔너리 형태의 파이썬 객체이므로, 인덱스와 키를 사용하여 데이터에 접근할 수 있습니다.
또는, 다음과 같이 딕셔너리 형태의 파이썬 객체를 생성하여 사용할 수도 있습니다.
#hostingforum.kr
python
import json
data = '{"name": "John", "age": 30}'
obj = json.loads(data)
print(type(obj)) # dict 출력
위 코드에서 obj는 딕셔너리 형태의 파이썬 객체이므로, 인덱스와 키를 사용하여 데이터에 접근할 수 있습니다.
2025-04-04 12:11