【问题标题】:How to ignore fields/methods in ParseObject subclass serialization?如何忽略 ParseObject 子类序列化中的字段/方法?
【发布时间】:2017-02-20 03:39:19
【问题描述】:

我有一个 ParseObject 的子类,它有一个 JSONArray 变量。我想为这个变量实现一个toList 方法,将值作为列表返回

【问题讨论】:

  • 您使用哪个库来进行 JSON 对象解析?
  • 我正在使用 facebook 的 Parse,它在数据库中返回一个数组作为 JSONArray
  • Facebook 解析为您提供数据,但您如何进行解析?
  • 当你继承ParseObject时它会自动完成
  • 好的,您能否在此处提供 Json 响应和预期的类原型,以便我们确定您的问题。

标签: android parse-platform


【解决方案1】:

定义一个注释排除。

/**
 * To exclude a field in Gson
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.FIELD)
public @interface Exclude {
}

定义排除策略:-

/**
 * To exclude a field in Gson
 */
public class ExcludeFieldStrategy implements ExclusionStrategy {

    @Override
    public boolean shouldSkipField(FieldAttributes f) {
        return f.getAnnotation(Exclude.class) != null;
    }

    @Override
    public boolean shouldSkipClass(Class<?> clazz) {
        return false;
    }
}

现在您可以像这样添加序列化或反序列化排除策略:-

addSerializationExclusionStrategy(new ExcludeFieldStrategy());

您需要弄清楚如何为 facebook prase 提供自定义序列化器。

在您的 ParserObject 类的方法或字段上应用注释,例如:-

class ParserObvect{
     @Exclude
     public String mExcludeObject;

     @Exclude
     public void toListString(String someData){
     }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多