fastjson NameFilter和ValueFilter执行顺序问题

gpfsuwkq  于 9个月前  发布在  其他
关注(0)|答案(2)|浏览(95)

同时使用NameFilter和ValueFilter,NameFilter把key改写了,ValueFilter拿到的key是改写后的key,这时候无法通过反射获取属性来操作。

iszxjhcz

iszxjhcz1#

@wenshao

30byixjq

30byixjq2#

这个问题解决了吗?无法NameFilter 修改名词后,无法使用后续注解好的序列化了。看了下,在fastjson里面判断了key != fieldInfoName 就直接返回当前值了

  1. boolean fieldUnwrappedNull;
  2. if (key != fieldInfoName) {
  3. if (!writeAsArray) {
  4. out.writeFieldName(key, true);
  5. }
  6. serializer.write(propertyValue);
  7. } else if (originalValue != propertyValue) {
  8. if (!writeAsArray) {
  9. fieldSerializer.writePrefix(serializer);
  10. }
  11. serializer.write(propertyValue);
  12. } else {

相关问题