Python
Python 개념 및 실습 - 파일 읽고 쓰기(4)
developers developing
2022. 9. 10. 17:00
json 읽고 쓰기
import json 선언하기
# json 읽기
data = '{"id": "hong", "language": "python", "edition": "3.9", "author": "Guido van Rossum"}'
json_data = json.loads(data) # 문자열 형태를 json 로드
print(type(json_data)) # 타입을 딕셔너리로 바꿈

# 딕셔너리라면 key, value 값을 가지고 올수있다
data = '{"id": "hong", "language": "python", "edition": "3.9", "author": "Guido van Rossum"}'
json_data = json.loads(data)
print(
type(json_data),
json_data["id"],
json_data["language"],
json_data["edition"],
json_data["author"],
)

# dict 형식은 dumps로 읽어오기
data = {
"id": "hong",
"language": "python",
"edition": "3.9",
"author": "Guido van Rossum",
}
json_data = json.dumps(data)
print(type(json_data))
print(json_data)
# json 쓰기
# key, value 추가하고 작성하기
data = {
"id": "hong",
"language": "python",
"edition": "3.9",
"author": "Guido van Rossum",
}
data["language"] = ["java", "script"]
with open("data/test1.json", "w") as f:
json.dump(data, f, indent=2) # indent=2 : 들여쓰기
실행 완료 후 test1.json 파일 생성
# 방금 생성한 test1.json 읽어오기
with open("data/test1.json", "r") as f:
json_data = json.load(f)
print(json_data)

# users.json 읽어오기
# 전체적으로 배열로 되어 있음. 한사람의 대한 정보가 {중괄호로 묶여있음}.
with open("data/users.json", "r") as f:
json_data = json.load(f)
for person in json_data:
for k, v in person.items():
print(k, v)
print()