Java JsonProperty映射到可变密钥
我如何映射:Java JsonProperty映射到可变密钥,java,json,jackson,mapping,fasterxml,Java,Json,Jackson,Mapping,Fasterxml,我如何映射: user: { #user1: "http:www.example.com/user1" } 去上课 我试过: public static final class User { public final String user1; @JsonCreator public User(@JsonProperty("#user1") String user1) { this.user1 = user1; } } 我遇
user: {
#user1: "http:www.example.com/user1"
}
去上课
我试过:
public static final class User {
public final String user1;
@JsonCreator
public User(@JsonProperty("#user1") String user1) {
this.user1 = user1;
}
}
我遇到的问题是#user1
发生了变化。它可能是#user1
或#user2
或同时包含多个#user1
、#user2
等
这将导致:
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:
无法识别的字段“#user2”
如果字段可以更改,您最好将其映射到映射和数组,例如json simple。顺便问一下,“multiple
#user1
”是什么意思?是否是一个包含多个字符串的同名数组,例如#user1:[“a”,“b”]
?@Thomas:谢谢。将该类替换为一个HashMap
,它成功了。这更像是user:{#user1:“abc”,#user2:“xyz”}
。在这种情况下,我会满足于名为user
的列表/数组,而不是选择性地允许#user1
等,不管怎么说,这看起来都是糟糕的设计。