我正在JsonDeserialzer
为 POJO 类写一个Attribute
:
public class AttributeDeserializer extends JsonDeserializer<Attribute> {
@Override
public Attribute deserialize(JsonParser jp, DeserializationContext ctxt)
throws IOException, JsonProcessingException {
JsonNode node = jp.getCodec().readTree(jp);
String name = node.get("name").asText();
//String value = node.get("value").asText();
Attribute attr = new Attribute();
attr.setName(name);
attr.setValue(value);
return attr;
}
Attribute
类有两个变量name
,value
其中名称是String
类型,值是Object
类型。
我知道从JsonNode
使用中获取字符串值
node.get("name").asText()
,但值是Object
类型,它可以是列表、字符串或任何东西。
我应该如何Attribute
在反序列化器中创建对象??
属性类:
public class Attribute {
protected String name;
protected Object value;
public String getName() {
return name;
}
public void setName(String value) {
this.name = value;
}
public Object getValue() {
return value;
}
public void setValue(Object value) {
this.value = value;
}
}