我想在运行时使用 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/