java - 如何在运行时从 bean 到 json 排除属性

标签 java json-lib

我想在运行时使用 json-lib 排除从 bean 到 json 的属性。
我该怎么做?
我尝试过使用 jsonconfig 的 propertyFilter,我不确定它是否在运行时。

最佳答案

这是基于Filtering Properties in JSON Advanced Features处的示例代码的代码片段这可能有用。

PropertyFilter pf = new PropertyFilter(){  
   public boolean apply( Object source, String name, Object value ) {  
      if( value != null && Number.class.isAssignableFrom( value.getClass() ) ){  
         return true;  
      }  
      return false;  
   }  
};

PrimitiveBean bean = new PrimitiveBean();  
JsonConfig jsonConfig = new JsonConfig();  
jsonConfig.setJsonPropertyFilter(pf); 
JSONObject json = JSONObject.fromObject( bean, jsonConfig );  

在将 bean 序列化为 JSON 对象之前,您可以为 JSON 配置设置不同的函数...以防万一这就是您所说的运行时的意思。

关于java - 如何在运行时从 bean 到 json 排除属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8025852/

相关文章:

java - 为什么 "class"、 "metaClass"和 "declaringClass"不能用作 JSON-lib 中的键?

java - 如何使用 json-lib 制作类似的 json 格式?

java - com.google.gdata.util.AuthenticationException : Error connecting with login URI

java - 如何使用 JPA 实现测试 DAO?

java - 使用 Jackson 是否可以忽略所有循环关系而无需添加注释?

java - json 字符串转换为 Java Bean

java - 在这种情况下对象会被收集吗?

java - 无法使用 @Value ("${database.name}"从属性文件中获取值

java - 为什么 1dp 在 Android 上同时表示 3px 和 2px?

java - 如何将所有值从一个 JSONObject 复制到另一个?