【发布时间】:2012-10-30 17:56:41
【问题描述】:
如何让 Jackson 忽略 JSON 名称?
我有以下 POJO:
class MyPojo {
private String ABCName;
}
当我有这样的东西时:
"ABCName" : "foo" ,然后 Jackson 无法识别它会引发错误。
它期望如下:
“abcName”:“foo”。
代码:
import org.codehaus.jackson.annotate.JsonProperty;
import org.codehaus.jackson.map.ObjectMapper;
public class TestJackson {
public static void main(String args[]) throws Exception {
ObjectMapper mapper = new ObjectMapper();
MyPojo my = new MyPojo();
my.setABCName("Foo");
System.out.println(mapper.writeValueAsString(my));
}
private static class MyPojo {
private String ABCName;
public void setABCName(String ABCName) {
this.ABCName = ABCName;
}
public String getABCName() {
return ABCName;
}
}
}
输出:{"abcname":"Foo"}
然后我尝试用 @JsonProperty("ABCName") 注释 ABCName
在我注释并运行代码后,我得到了:{"ABCName":"Foo","abcname":"Foo"}
导致重复。
我有一个 JSON 客户端,它将发送为:“ABCName”:“Foo”,我需要在 Jackson 中处理它。
有什么解决方法吗?
感谢您的宝贵时间。
【问题讨论】: