Satish Pandey
Satish Pandey

Reputation: 1184

How to map java object attribute(my_name) with json attribute (my-name)?

I am using jackson json api to map json data to java objects. All is well in case of same object attribute names with json attributes. Now i have a situation where i am getting json data attribute with -. (my-name).

In java we can't include - in variable names.

import org.codehaus.jackson.map.ObjectMapper;

private static final ObjectMapper mapper = new ObjectMapper();

User user = mapper.readValue("{my-name:\"abcd\"}", User.class);

public class User {private String my_name; /*get-set methods*/}

Is there anything i need to apply in User.class.

I don't want to change my code so much.

Upvotes: 9

Views: 12862

Answers (1)

Ajit
Ajit

Reputation: 215

In your java class you can give any name as you like

Ex. private String myName;

But in the setter method just write:

@JsonProperty("my-name")
public void setMyName(String myName) {
    this.myName = myName;
}

Upvotes: 19

Related Questions