The result variable contains corrected parsed JSON.
But after deserialization List contains correct amount of items but all of the
Ok , the problem is that the parser is case-sensitive, you can change the name of your attributes to match the name of the json value of you could use the SerializedName annotation like this:
@SerializedName("ID")
public String id ;
@SerializedName("Name")
public String name ;
@SerializedName("Description")
public String description;
...
or
public String ID ;
public String Name ;
public String Description ;
...
I think you're having this problem because of null values in your json. Check it. Source