同时使用NameFilter和ValueFilter,NameFilter把key改写了,ValueFilter拿到的key是改写后的key,这时候无法通过反射获取属性来操作。
iszxjhcz1#
@wenshao
30byixjq2#
这个问题解决了吗?无法NameFilter 修改名词后,无法使用后续注解好的序列化了。看了下,在fastjson里面判断了key != fieldInfoName 就直接返回当前值了
boolean fieldUnwrappedNull; if (key != fieldInfoName) { if (!writeAsArray) { out.writeFieldName(key, true); } serializer.write(propertyValue); } else if (originalValue != propertyValue) { if (!writeAsArray) { fieldSerializer.writePrefix(serializer); } serializer.write(propertyValue); } else {
boolean fieldUnwrappedNull;
if (key != fieldInfoName) {
if (!writeAsArray) {
out.writeFieldName(key, true);
}
serializer.write(propertyValue);
} else if (originalValue != propertyValue) {
fieldSerializer.writePrefix(serializer);
} else {
2条答案
按热度按时间iszxjhcz1#
@wenshao
30byixjq2#
这个问题解决了吗?无法NameFilter 修改名词后,无法使用后续注解好的序列化了。看了下,在fastjson里面判断了key != fieldInfoName 就直接返回当前值了