Gson序列化名称:“隐式超级构造函数Object()未定义为默认构造函数。必须定义显式构造函数”

时间:2013-01-22 19:20:01

标签: java android eclipse gson eclipse-adt

我是Android新手,我正在尝试学习如何使用Gson解析API调用。我已经阅读了一下,我试图遵循这个例子:http://www.javacodegeeks.com/2011/01/android-json-parsing-gson-tutorial.html

它的功能相对较好,但是当我将项目导入Eclipse以更好地查看代码时,我遇到了上面关于构造函数的错误(以及一些其他令人困惑的错误)。

我在StackOverflow上阅读了一些相关的问题,但它们都涉及到继承的类,而且我可能非常困惑,但我不认为这个类是继承的。

导致这些错误的原因是什么,我该如何解决?

如果您想要链接项目而不仔细阅读文章,可以在此处找到:http://dl.dropbox.com/u/7215751/JavaCodeGeeks/AndroidJsonParsingTutorial/AndroidJsonProject.zip

以下是相关文件中的代码: 包com.javacodegeeks.android.json.model;

import com.google.gson.annotations.SerializedName;

public class SearchResponse {

public List<Result> results;

@SerializedName("max_id")
public long maxId;

@SerializedName("since_id")
public int sinceId;

@SerializedName("refresh_url")
public String refreshUrl;

@SerializedName("next_page")
public String nextPage;

@SerializedName("results_per_page")
public int resultsPerPage;

public int page;

@SerializedName("completed_in")
public double completedIn;

@SerializedName("since_id_str")
public String sinceIdStr;

@SerializedName("max_id_str")
public String maxIdStr;

public String query;

}

提前致谢。

1 个答案:

答案 0 :(得分:1)

您的研究是正确的 - 提到的错误与构造函数和继承有关。 似乎在项目的某个地方,你有一个Employee类,并且该类没有声明一个公共(或至少受保护的)null构造函数(即不带参数的构造函数)。

在提供的示例代码中,我找不到任何关于这样一个类的提及 - 也许是您添加到实验中的内容?

任何情况下,在提到的Employee类中添加一个null构造函数都会使你的一些问题消失。