#java #json #list #exception
Вопрос:
Вот в чем проблема:
Я пытался преобразовать свой объект Student в строку JSON, но, похоже, возникла проблема с преобразованием списка в часть JSON
Мой студенческий код таков:
@Data @RequiredArgsConstructor @NoArgsConstructor @FieldDefaults(level = AccessLevel.PRIVATE) public class Student { @NonNull String id; @NonNull String name; @NonNull int age; @NonNull Listlt;Stringgt; courses; int grade;
Вот тут-то и возникает проблема:
ObjectMapper jackson = new ObjectMapper(); public Student findStudent(String id) throws Exception { //finding a student Student student = repository.findById(id); student.setCourses(findCourses(student.getId())); //everything works fine here System.out.println(jackson.writeValueAsString(student)); //this is where error occurs return student; }
Вывод ошибок является:
Caused by: com.fasterxml.jackson.databind.JsonMappingException: class java.util.ImmutableCollections$List12 cannot be cast to class java.lang.String (through reference chain: ru.tinkoff.tfpr.components.Student["courses"]-gt;java.util.ArrayList[0])
Есть ли какая-нибудь подсказка, как это решить?
Заранее спасибо
Комментарии:
1. Привет, я запустил ваш код, и все работает нормально, кроме того, я не уверен, что возвращаемый объект
findCourses(student.getId())
. Кстати,@RequiredArgsConstructor
будет автоматически добавлен, как только вы добавите@Data
.