입력 형식 검사가 부족합니다. 사용자가 입력한 값을 JSON으로 변환하기 전에 각 필드의 데이터 형식을 검사하지 않습니다. 예를 들어서 학년과 학기는 숫자 값이어야 하는데 문자열을 입력하면 JSON으로 변환할때 오류를 발생시킬 수 있습니다. 따라서 데이터 형식을 확인하고 필드가 비어 있는지 혹은 적절한 형식으로 입력되었는지 검사하는 함수를 추가하는 것이 좋을 것 같습니다.
트랙이나 마이크로 디그리는 사용자가 쉼표로 구분하여 여러 값을 입력할 수 있는데 비어 있거나 구분자가 없는 경우에 대한 처리가 명확하지 않습니다. 또한 사용자가 정확한 값을 입력했는지에 대한 처리도 불분명합니다.
따라서 마이크로디그리나 트랙의 경우 올바른 형식인지 확인하는데 예를 들면 쉼표로 구분하기에 문자열을 쉼표로 분할하고 각 값의 유효성을 확인하고 불필요한 공백은 제거하는 것이죠. split과 map을 이용해서 분할하면 좋을 것 같습니다.
또한 마이크로디그리나 트랙을 비워두는 경우를 대비해서 null이 반환되도록 하는 것이 좋을 것 같습니다. 그렇게 되면 JSON으로 변환할 때도 일관성있게 코드가 유지될수 있을 것 갔습니다.