【问题标题】:Dynamically exclude certain attributes during gson serialization (Java)在gson序列化期间动态排除某些属性(Java)
【发布时间】:2016-12-19 13:22:12
【问题描述】:

有没有办法在 gson 序列化过程中动态排除类的某些属性? (基于我传递给编写器的参数)

或者我应该制作 2 个不同的序列化器?

谢谢!

【问题讨论】:

  • 我认为你做不到。

标签: java gson


【解决方案1】:

尝试使用transient 属性。前任: private transient String name;

您也可以添加此属性

Gson gson = gsonBuilder.excludeFieldsWithModifiers(Modifier.TRANSIENT).create();

编辑:看看here

【讨论】:

  • 我知道如何使用transient,但这不是我想要的。我会用一个例子来编辑我的问题以使其更清楚。
  • 嗯,但我想根据传递给序列化程序的参数(类似于“forDebug”)排除字段。所以也许只有当我的布尔值设置为 True 时,我才能排除带有瞬态修饰符的字段,对吧?
  • 创建实现ExclusionStrategy的新类并在构造函数中传递你想要的,例如。 'foDebug" 使用该参数的布尔值和排除字段。
猜你喜欢
  • 2017-04-16
  • 1970-01-01
  • 1970-01-01
  • 2017-07-10
  • 2019-09-06
  • 2012-10-18
  • 1970-01-01
  • 2011-06-01
  • 2023-03-29
相关资源
最近更新 更多