具有一个具有这样属性的JSON,我尝试与杰克逊进行反序列化:
{ "$fooid" : "yfdfjjhkjhkljhd768622323jjj" }
问题出在这里,我无法读取键“ $ fooid”。
我试图用
为属性添加注释@JsonAlias("$fooid")
private String fooid;
也为
@JsonProperty("$fooid")
private String fooid;
两个变体均不起作用,属性fooid始终为null。
如何在Java中反序列化它?有提示吗?
答案 0 :(得分:1)
我不确定您的情况如何,但是在2.0.0版上,它正在为我工作。
public class JSonAliasWithSpecialCharacters {
public static void main(String[] args) throws IOException {
String json="{ \"$fooid\" : \"yfdfjjhkjhkljhd768622323jjj\" }";
ObjectMapper mapper = new ObjectMapper();
JsonFooid fooid = mapper.readValue(json, JsonFooid.class);
System.out.println("read the foodid:"+fooid.getFooid());
}
}
public class JsonFooid {
@JsonProperty("$fooid")
private String fooid;
public String getFooid() {
return fooid;
}
public void setFooid(String fooid) {
this.fooid = fooid;
}
}