public static void main(String[] args) throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
SimpleModule module = new SimpleModule();
module.addDeserializer(IntSet.class, new IntSetDeserializer());
objectMapper.registerModule(module);
IntSet intSet = new IntOpenHashSet();
intSet.add(1);
String json = objectMapper.writeValueAsString(intSet);
System.out.println(json);
IntSet result = objectMapper.readValue(json, IntSet.class);
System.out.println(result.size());
}
public static class IntSetDeserializer extends JsonDeserializer<IntSet> {
private TypeReference<List<Integer>> listTypeReference =
new TypeReference<List<Integer>>() {};
@Override
public IntSet deserialize(JsonParser p, DeserializationContext ctxt) throws IOException {
List<Integer> iterator = p.readValueAs(listTypeReference);
return new IntOpenHashSet(iterator);
}
}
Jackson序列化IntSet配置
最新推荐文章于 2023-01-31 09:11:26 发布