다음 코드는 (직렬화할 수 있는) 객체를 직렬화하고 역직렬화한다.
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 표현은 최종 결과물을 저장할 때 사용하는데, 여러분이 다른 프로그램으로 결과 값을 더 처리하거나 임포트해야 할 때 쓰면 좋다.