3.2.3 Serde의 도움 받기
Serde 라이브러리는 직렬화 및 역직렬화 메서드를 프레임워크 하나로 묶은 것이다. 기본으로 러스트 생태계의 표준 직렬화(및 역직렬화) 프레임워크이다. 구조체를 JSON, TOML, BSON(Binary JSON)과 같은 형식으로 변환하고 다시 역변환할 수도 있다. 그러나 먼저 Cargo.toml에 Serde를 추가해야 한다.
코드 3-6 프로젝트에 Serde 추가하기
...
[dependencies]
...
serde = { version = "1.0", features = ["derive"] }
데이터 구조마다 적절한 JSON 형식을 만드는 매핑 기능을 지겹게 작성하는 대신 구조체 위에 매크로를 배치하기만 하면 된다. 컴파일러는 컴파일 중에 Serde 라이브러리를 호출하고 올바른 직렬화 정보를 생성한다.
이것이 바로 Question 구조체에 수행해야 하는 작업이다. derive 매크로를 사용하여 애너테이션에 있는 Debug 트레이트 옆에 Serialize 트레이트를 추가한다.