gpt4 book ai didi

android - 改造:应为 BEGIN_ARRAY 但在第 1 行第 2 列为 BEGIN_OBJECT

转载 作者:行者123 更新时间:2023-11-30 01:52:30 24 4
gpt4 key购买 nike

我是第一次使用 Retrofit,将传统的 httpclient 与 AsyncTask 抛在了一起。我在理解 Retrofit 的真正工作原理时遇到了问题。

我收到此错误:com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_ARRAY but be BEGIN_OBJECT at line 1 column 2

完整的网址是:https://api.github.com/users/basil2style

返回Json

{
"login": "basil2style",
"id": 1285344,
"avatar_url": "https://avatars.githubusercontent.com/u/1285344?v=3",
"gravatar_id": "",
"url": "https://api.github.com/users/basil2style",
"html_url": "https://github.com/basil2style",
"followers_url": "https://api.github.com/users/basil2style/followers",
"following_url": "https://api.github.com/users/basil2style/following{/other_user}",
"gists_url": "https://api.github.com/users/basil2style/gists{/gist_id}",
"starred_url": "https://api.github.com/users/basil2style/starred{/owner}{/repo}",
"subscriptions_url": "https://api.github.com/users/basil2style/subscriptions",
"organizations_url": "https://api.github.com/users/basil2style/orgs",
"repos_url": "https://api.github.com/users/basil2style/repos",
"events_url": "https://api.github.com/users/basil2style/events{/privacy}",
"received_events_url": "https://api.github.com/users/basil2style/received_events",
"type": "User",
"site_admin": false,
"name": "Basil",
"company": "MakeInfo",
"blog": "http://www.themakeinfo.com",
"location": "India",
"email": "basiltalias92@gmail.com",
"hireable": true,
"bio": null,
"public_repos": 39,
"public_gists": 3,
"followers": 28,
"following": 129,
"created_at": "2011-12-26T00:17:22Z",
"updated_at": "2015-09-23T18:36:51Z"
}

下面是我的代码。

主 Activity

    public class MainActivity extends ActionBarActivity  {

List<GitHub> examplelist;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

RestAdapter restAdapter = new RestAdapter.Builder().
setEndpoint("https://api.github.com").build();
GitHubAPI gitapi = restAdapter.create(GitHubAPI.class);
gitapi.getFeed(new Callback<List<GitHub>>() {
@Override
public void success(List<GitHub> github, Response response) {
examplelist = github;
Log.d("Size: ", Integer.toString(examplelist.size()));
}

@Override
public void failure(RetrofitError error) {
Log.d("Error: ", error.getLocalizedMessage());
}
});
}

}

型号

我只对从 Github api 获取登录、id、avatar_url 和 gravater_id 数据感兴趣

public class GitHub {
String login;
String id;
String avatar_url;
String gravatar_id;

public String getLogin() {
return login;
}
public String getId() {
return id;
}
public String getAvatar_url() {
return avatar_url;
}
public String getGravatar_id() {
return gravatar_id;
}
}

界面

public interface GitHubAPI {
@GET("/users/basil2style")
public void getFeed( Callback<List<GitHub>> response);
}

拜托,我真的需要完成这项工作,我在这里很沮丧。

最佳答案

你的界面应该是这样的:

public interface GitHubAPI { 
@GET("/users/basil2style")
public void getFeed( Callback<GitHub> response);
}

和你的回调:

gitapi.getFeed(new Callback<GitHub>() {
@Override
public void success(GitHub github, Response response) {
Github example = github;
//Log.d("Size: ", Integer.toString(examplelist.size()));
}

@Override
public void failure(RetrofitError error) {
Log.d("Error: ", error.getLocalizedMessage());
}
});

关于android - 改造:应为 BEGIN_ARRAY 但在第 1 行第 2 列为 BEGIN_OBJECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32798152/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com