Json json.Unmarshal 을 할 때 에러 발생 시 타입이 json 타입이 아니게 되면 오류가 발생 할 수 있다. 오류 발생 시 변환 데이터와 변환하려는 타입을 알 수 없어 어떤 값인지 알기 어렵다. Unmarshal 함수 생성 로깅을 위한 ErrorData 구조체를 생성하여, 덕 타이핑을 통해 error interface type에 속하게 한다. Unmarshal 실패 시 error 데이터를 ErrorData 구조체에 할당하여 반환한다. ErrorData에 unmarshaling하려던 데이터를 InputData field에, 값을 저장할 데이터의 타입을 TargetType field에 저장하고, unmarshaling 실패 에러를 Err field에 저장한다. ErrorData 구조체의 포인터..