如何使用json属性(my-name)映射java对象属性(my_name)?

时间:2012-08-21 06:48:35

标签: json jackson

我使用jackson json api将json数据映射到java对象。在具有json属性的相同对象属性名称的情况下,一切都很好。现在我有一种情况,我得到-的json数据属性。 (我的名称)。

在java中,我们不能在变量名中包含-

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*/}

我需要在User.class中申请。

我不想那么多改变我的代码。

1 个答案:

答案 0 :(得分:15)

在您的java类中,您可以根据需要提供任何名称

实施例。 private String myName;

但是在setter方法中只需写:

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