-1

I am new with android and java development. I am trying to cast JOSN to List in Android but i ma facing issue. Can you please help in this issue ?

Error : java.lang.IllegalStateException: Expected BEGIN_ARRAY but was BEGIN_OBJECT at line 1 column 2 path $

Convert Code

Gson gson = new Gson();
String jsonOutput = githubSearchResults;
Type listType = new TypeToken<List<GitRepo>>(){}.getType();
List<GitRepo> oData = gson.fromJson(jsonOutput, listType);

Object Git Repo Class

public class GitRepo {
    private String total_count;
    private String incomplete_results;
    private List<items> items;
}

class  items{
    private  String id;
    private String name;
    private String full_name;
    private String html_url;
    private List<owner> owner;
    private List<license> license;
}

class owner{
    private String login;
    private String id;
    private String avatar_url;
}

class  license{
    private String key;
    private String name;
}

My JSON String DATA

{
  "total_count": 68,
  "incomplete_results": false,
  "items": [
    {
      "id": 1604375,
      "node_id": "MDEwOlJlcG9zaXRvcnkxNjA0Mzc1",
      "name": "w2ui",
      "full_name": "vitmalina/w2ui",
      "owner": {
        "login": "vitmalina",
        "id": 561995,
        "node_id": "MDQ6VXNlcjU2MTk5NQ==",
        "avatar_url": "https://avatars0.githubusercontent.com/u/561995?v=4",
        "gravatar_id": "",
        "url": "https://api.github.com/users/vitmalina",
        "html_url": "https://github.com/vitmalina",
        "followers_url": "https://api.github.com/users/vitmalina/followers",
        "following_url": "https://api.github.com/users/vitmalina/following{/other_user}",
        "gists_url": "https://api.github.com/users/vitmalina/gists{/gist_id}",
        "starred_url": "https://api.github.com/users/vitmalina/starred{/owner}{/repo}",
        "subscriptions_url": "https://api.github.com/users/vitmalina/subscriptions",
        "organizations_url": "https://api.github.com/users/vitmalina/orgs",
        "repos_url": "https://api.github.com/users/vitmalina/repos",
        "events_url": "https://api.github.com/users/vitmalina/events{/privacy}",
        "received_events_url": "https://api.github.com/users/vitmalina/received_events",
        "type": "User",
        "site_admin": false
      },
      "private": false,
      "html_url": "https://github.com/vitmalina/w2ui",
      "description": "JavaScript UI library for data-driven web applications",
      "fork": false,
      "url": "https://api.github.com/repos/vitmalina/w2ui",
      "forks_url": "https://api.github.com/repos/vitmalina/w2ui/forks",
      "keys_url": "https://api.github.com/repos/vitmalina/w2ui/keys{/key_id}",
      "collaborators_url": "https://api.github.com/repos/vitmalina/w2ui/collaborators{/collaborator}",
      "teams_url": "https://api.github.com/repos/vitmalina/w2ui/teams",
      "hooks_url": "https://api.github.com/repos/vitmalina/w2ui/hooks",
      "issue_events_url": "https://api.github.com/repos/vitmalina/w2ui/issues/events{/number}",
      "events_url": "https://api.github.com/repos/vitmalina/w2ui/events",
      "assignees_url": "https://api.github.com/repos/vitmalina/w2ui/assignees{/user}",
      "branches_url": "https://api.github.com/repos/vitmalina/w2ui/branches{/branch}",
      "tags_url": "https://api.github.com/repos/vitmalina/w2ui/tags",
      "blobs_url": "https://api.github.com/repos/vitmalina/w2ui/git/blobs{/sha}",
      "git_tags_url": "https://api.github.com/repos/vitmalina/w2ui/git/tags{/sha}",
      "git_refs_url": "https://api.github.com/repos/vitmalina/w2ui/git/refs{/sha}",
      "trees_url": "https://api.github.com/repos/vitmalina/w2ui/git/trees{/sha}",
      "statuses_url": "https://api.github.com/repos/vitmalina/w2ui/statuses/{sha}",
      "languages_url": "https://api.github.com/repos/vitmalina/w2ui/languages",
      "stargazers_url": "https://api.github.com/repos/vitmalina/w2ui/stargazers",
      "contributors_url": "https://api.github.com/repos/vitmalina/w2ui/contributors",
      "subscribers_url": "https://api.github.com/repos/vitmalina/w2ui/subscribers",
      "subscription_url": "https://api.github.com/repos/vitmalina/w2ui/subscription",
      "commits_url": "https://api.github.com/repos/vitmalina/w2ui/commits{/sha}",
      "git_commits_url": "https://api.github.com/repos/vitmalina/w2ui/git/commits{/sha}",
      "comments_url": "https://api.github.com/repos/vitmalina/w2ui/comments{/number}",
      "issue_comment_url": "https://api.github.com/repos/vitmalina/w2ui/issues/comments{/number}",
      "contents_url": "https://api.github.com/repos/vitmalina/w2ui/contents/{+path}",
      "compare_url": "https://api.github.com/repos/vitmalina/w2ui/compare/{base}...{head}",
      "merges_url": "https://api.github.com/repos/vitmalina/w2ui/merges",
      "archive_url": "https://api.github.com/repos/vitmalina/w2ui/{archive_format}{/ref}",
      "downloads_url": "https://api.github.com/repos/vitmalina/w2ui/downloads",
      "issues_url": "https://api.github.com/repos/vitmalina/w2ui/issues{/number}",
      "pulls_url": "https://api.github.com/repos/vitmalina/w2ui/pulls{/number}",
      "milestones_url": "https://api.github.com/repos/vitmalina/w2ui/milestones{/number}",
      "notifications_url": "https://api.github.com/repos/vitmalina/w2ui/notifications{?since,all,participating}",
      "labels_url": "https://api.github.com/repos/vitmalina/w2ui/labels{/name}",
      "releases_url": "https://api.github.com/repos/vitmalina/w2ui/releases{/id}",
      "deployments_url": "https://api.github.com/repos/vitmalina/w2ui/deployments",
      "created_at": "2011-04-12T14:26:20Z",
      "updated_at": "2018-07-02T20:33:42Z",
      "pushed_at": "2018-06-11T02:02:49Z",
      "git_url": "git://github.com/vitmalina/w2ui.git",
      "ssh_url": "git@github.com:vitmalina/w2ui.git",
      "clone_url": "https://github.com/vitmalina/w2ui.git",
      "svn_url": "https://github.com/vitmalina/w2ui",
      "homepage": "http://w2ui.com",
      "size": 38068,
      "stargazers_count": 1612,
      "watchers_count": 1612,
      "language": "JavaScript",
      "has_issues": true,
      "has_projects": true,
      "has_downloads": true,
      "has_wiki": true,
      "has_pages": false,
      "forks_count": 562,
      "mirror_url": null,
      "archived": false,
      "open_issues_count": 309,
      "license": {
        "key": "mit",
        "name": "MIT License",
        "spdx_id": "MIT",
        "url": "https://api.github.com/licenses/mit",
        "node_id": "MDc6TGljZW5zZTEz"
      },
      "forks": 562,
      "open_issues": 309,
      "watchers": 1612,
      "default_branch": "master",
      "score": 150.9138
    }
  ]
}
Abhishek Tomar
  • 827
  • 1
  • 10
  • 20

1 Answers1

1

The response you are getting is a JSONObject which is a singular entity (GitRepo object), not a Collection.

You need to change the type of your variable from List to a single object which is an instance of GitRepo as follows -

GitRepo oData = gson.fromJson(jsonOutput, GitRepo.class);
Ameya Pandilwar
  • 2,638
  • 28
  • 28