Skip to content

Cannot Deserialize JSON with @JsonProperty-annotated Record fields #176

@juulhobert

Description

@juulhobert

I'm encountering an issue when using Jackson-jr with annotation support to handle record classes that map to JSON with snake_case field names. While serialization works as expected, deserialization of the same JSON back into the record fails.

To illustrate the problem, I created a minimal reproducer: jackson-jr-annotations-reproducer.

Steps to Reproduce:
Use a record class where fields are annotated with @JsonProperty to specify the snake_case equivalent of the field name. Serialize an instance of the record class to JSON using Jackson-jr (with annotation support). Attempt to deserialize the resulting JSON back into the record class.

Expected Behavior:
The JSON should deserialize correctly into the record class, matching fields based on the @JsonProperty annotations.

Actual Behavior:
Deserialization fails with an exception
image

Environment:
Jackson-jr version: 2.18.1
Java version: 21

Reproducer Link:
https://github.com/juulhobert/jackson-jr-annoations-reproducer

Metadata

Metadata

Assignees

No one assigned

    Labels

    2.21jackson-annotationsIssue relate to (limited) support of main Jackson annotationsjava-recordIssue related to Java 14+ java.lang.Record supportpr-welcomeIssue for which progress most likely if someone submits a Pull Request

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions