java.util.ArrayList 无法转换为 myclass - gson

java.util.ArrayList cannot be cast to myclass - gson

我想使用 Gson 库,但出现此错误:

java.util.ArrayList cannot be cast to UserHelper

UserHelper是我的class帮手:

String user_id="",pass="",show_other_profile="",status="",instagram_link="",
    facebook_link="",google_plus="",telegram_link="",website_link="",birthday="";

str 变量的值:

[{"user_id":"27","pass":"c3992a14e2887f551119b8b72b08fe12","show_other_profile":"","status":"","instagram_link":"","facebook_link":"","google_plus":"","telegram_link":"","website_link":"","birthday":""}]

UserHelper h = new UserHelper();
Gson gson = new Gson();
Type listType = new TypeToken<List<UserHelper>>() {}.getType();
h = gson.fromJson(res, listType); // error line

已解决

arr_users = gson.fromJson(res, listType);
h = arr_users.get(0);

它接缝 str 包含一个 UserHelper 的数组,你正试图将它反序列化为一个 ArrayList<UserHelper>,它不能被转换成一个 UserHelper

如果您确定列表始终包含一个项目,那么您可以将最后一行替换为:

h = gson.fromJson(res, listType).get(0);