더북(TheBook)

다음 코드는 (직렬화할 수 있는) 객체를 직렬화하고 역직렬화한다.


object = ≪어떤 직렬화 가능 객체≫


# 객체를 파일에 저장한다.

with open("data.json", "w") as out_json:

  json.dump(object, out_json, indent=None, sort_keys=False)


# 파일에서 객체를 읽어 온다.

with open("data.json") as in_json: object1 = json.load(in_json)


# 객체를 문자열로 직렬화한다.

json_string = json.dumps(object1)


# 문자열을 JSON으로 파싱한다.

object2 = json.loads(json_string)


짜잔! 네 번이나 고통스럽게 변환하는 과정을 거쳤지만 object, object1, object2는 여전히 모두 값이 같다.

일반적으로 JSON 표현은 최종 결과물을 저장할 때 사용하는데, 여러분이 다른 프로그램으로 결과 값을 더 처리하거나 임포트해야 할 때 쓰면 좋다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.