Discuss / Java / 问题

问题

Topic source
public class IsbnDeserializer extends JsonDeserializer<BigInteger> {
    public BigInteger deserialize(JsonParser p, DeserializationContext ctxt) throws IOException, JsonProcessingException {
        // 读取原始的JSON字符串内容:
        String s = p.getValueAsString();
        if (s != null) {
            try {
                return new BigInteger(s.replace("-", ""));
            } catch (NumberFormatException e) {
                throw new JsonParseException(p, s, e);
            }
        }
        return null;
    }
}

这里面的

 DeserializationContext ctxt

这个参数并未使用,传入的目的是什么?

廖雪峰

#2 Created at ... [Delete] [Delete and Lock User]

覆写方法不能修改方法签名;

在这个方法内用不到但其他情况可能会用到,比如DeserializationContext可以获取一些设置,比如遇到[1,2,3]的时候是反序列化成数组还是List


  • 1

Reply