android - Gson序列化报错类com.activeandroid.DatabaseHelper声明了多个名为mContext的JSON字段

标签 android gson resttemplate android-annotations activeandroid

我收到的错误是“java.lang.IllegalArgumentException:类 com.activeandroid.DatabaseHelper 声明了多个名为 mContext 的 JSON 字段”

我正在使用 AndroidAnnotations RestClient 从我的 Web 服务中提取数据并序列化为 POJO。使用 ORMLite 时序列化工作正常,但我最近决定试用 Active Android,现在我的类扩展了模型。 Gson 正在序列化我无法控制的父类。无论如何我只能包含某些字段或者可能只是从 RestClient 返回纯 JSON 并以不同的方式进行序列化

@Rest(rootUrl = "http://stuff...com", converters = { GsonHttpMessageConverter.class })
    public interface RestClient {
    @Get("/AndroidController/createFacebookUser?facebookToken={facebookToken}&catIds=    {catIds}")
    User createFacebookUser(String facebookToken,String catIds);
}

用户模型是

@Data
@Table(name = "Users")
public class User extends Model {
@Column(name = "SystemID")
private String systemID;
@Column(name = "Name")
private String name;
public List<GameEntry> items() {
    return getMany(GameEntry.class, "Category");
}

public User(){}

最佳答案

Gson 提供了多种从序列化和反序列化中排除字段和类型的方法。看看Excluding Fields From Serialization and Deserialization ,特别是@Expose注解和用户定义的用法ExclusionStrategy .

关于android - Gson序列化报错类com.activeandroid.DatabaseHelper声明了多个名为mContext的JSON字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15353386/

相关文章:

java - 如何修复 ViewPager 以防止应用程序出错和崩溃?

java - 解析 JSON 数组 BEGIN_ARRAY 但为 NAME

Android 捕获所有运动事件并将它们分派(dispatch)给 child

android - 节点尚未附加到 `PropsAnimatedNode.updateView` 中的 View

java - Gradle 返回包不存在

java - Resttemplate 没有正确反序列化 JSON

java - 如何使用 RestTemplate 传递 header ?

javascript - 调试 Java Stream() NullPointerException 原因的最佳方法

android - android.hardware.camera2.full 从哪里来?

java - 为什么在将 json 响应转换为 ArrayList<Object> 时,gson 库将整数值设置为零?