Bird
0
0

Why does this code throw an exception?

medium📝 Debug Q7 of 15
Spring Boot - Request and Response Handling
Why does this code throw an exception?
ObjectMapper mapper = new ObjectMapper();
String json = "{\"name\":\"Eve\", \"age\":28}";
User user = mapper.readValue(json, User.class);

Given User class:
public class User {
private String name;
private int age;
}
APrivate fields without setters cause deserialization failure
BJSON string format is invalid
CNo default constructor in User class
DObjectMapper cannot parse strings
Step-by-Step Solution
Solution:
  1. Step 1: Understand deserialization requirements

    Jackson needs setters or public fields to set values during deserialization.
  2. Step 2: Identify missing setters for private fields

    Private fields without setters cause Jackson to fail setting values, throwing exception.
  3. Final Answer:

    Private fields without setters cause deserialization failure -> Option A
  4. Quick Check:

    Deserialization needs setters for private fields [OK]
Quick Trick: Add setters for private fields to enable deserialization [OK]
Common Mistakes:
  • Assuming default constructor alone is enough
  • Thinking JSON string is malformed
  • Believing ObjectMapper cannot parse strings

Want More Practice?

15+ quiz questions · All difficulty levels · Free

Free Signup - Practice All Questions
More Spring Boot Quizzes