当我序列化一个字符串值时,如果它太长,我想将它更改为另一个值。如果使用 FastJSON,你可以使用 ValueFilter 来做。
String jsonStr = "{\"key1\":\"DMA65DEG3p4If+JLrfzUUeeMTnX3ufk57ji+thwrbdg=\",\"key2\":\"data balabala\"}";
ValueFilter filter = (Object object, String name, Object value) -> {
if (value instanceof String) {
String s = (String) value;
if (s.length() > 32) {
s = "skip " + s.length() + " data";
}
return s;
} else {
return value;
}
};
JSONObject object = JSON.parseObject(jsonStr);
System.out.println(JSON.toJSONString(object, filter));
那么杰克逊是如何解决这个问题的呢?