gjson解析ArrayList报错

day_moon 2019-05-15 11:41:44
ArrayList<String> list = b.getStringArrayList("list");
for (int i = 0; i < list.size(); i++) {
Log.e("ssss", list.get(i));
}
Type types = new TypeToken<ArrayList<String>>() {
}.getType();
List<Bean> listTemp = new Gson().fromJson(list.toString(), types);

上面最后一句报错

bean:
private String name;
private String breed;
private int count;
private boolean twoFeet;


打印出来的是:
ssss: [
{
"name": "Rufus",
"breed": "labrador",
"count": 1,
"twoFeet": false
},
{
"name": "Marty",
"breed": "whippet",
"count": 1,
"twoFeet": false
}
]
...全文
979 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_45099942 2019-05-20
  • 打赏
  • 举报
回复
反射获取类 fromJson(json, json.class) 我只想修改代码,
习惯沉淀_ 2019-05-20
  • 打赏
  • 举报
回复
引用 9 楼 day_moon的回复:
问题已经解决了 不麻烦各位大神了
是类型不匹配吧 toString() ,应该放一个bean把? 可能
瓦尔登湖的喵 2019-05-20
  • 打赏
  • 举报
回复
toString()的问题吗
day_moon 2019-05-20
  • 打赏
  • 举报
回复
是类型不匹配 没办法安卓要这么传 不过我已经用其他方案代替了 谢谢各位大神了
day_moon 2019-05-17
  • 打赏
  • 举报
回复
问题已经解决了 不麻烦各位大神了
day_moon 2019-05-16
  • 打赏
  • 举报
回复
还是不行啊 各位大神 这是OKHTTP3请求返回成功的方法 public void onResponse(Call call, Response response) throws IOException { Message msg = new Message(); msg.what = 2; Bundle bundle=new Bundle(); ArrayList<String> list=new ArrayList<String>(); list.add(response.body().string()); bundle.putStringArrayList("list",list); msg.setData(bundle); // msg.obj = response.body().string(); handler.sendMessage(msg); } 改后的接收 super.handleMessage(msg); case 2: Bundle b=msg.getData(); ArrayList<String> list = b.getStringArrayList("list"); for (int i = 0; i < list.size(); i++) { Log.e("ssss", list.get(i)); } Type types = new TypeToken<ArrayList<String>>() { }.getType(); List<String> listTemp = new Gson().fromJson(list.toString(), types);//这行报错 需求是:获取LoginBean类的状态 也就是 LoginBean的status。 后台的封装 public LoginBean login = new LoginBean(); login.setMsg("登录成功!"); login.setStatus("1"); 麻烦大神们 帮忙解决一下 试过很多遍了 也改了很多次
王能 2019-05-16
  • 打赏
  • 举报
回复
第一条看日志 第二天debug 日志肯定是解析异常,然后就debug了 你看看你的list.toString()是啥? [[...]] 原因我就不多说了,按楼上的改好然后把list.toString改成list.get(0)
开发者_android 2019-05-16
  • 打赏
  • 举报
回复
两个类型都不匹配~~~
day_moon 2019-05-16
  • 打赏
  • 举报
回复
已经换过了 还是不行
彩色葫芦娃 2019-05-16
  • 打赏
  • 举报
回复
Type types = new TypeToken<List<Bean>>() { }.getType();
旅行蜗牛 2019-05-16
  • 打赏
  • 举报
回复
Type types = new TypeToken<ArrayList<String>>() { }.getType(); 感觉ArrayList<String> 和 List<Bean> listTemp 这两个类型不匹配吧,ArrayList<String> 换成ArrayList<Bean> 试试
day_moon 2019-05-16
  • 打赏
  • 举报
回复
反射获取类 fromJson(json, json.class) 我只想修改代码,
开发者_android 2019-05-16
  • 打赏
  • 举报
回复
List<String> listTemp = new Gson().fromJson(list.toString(), types);
你这是啥?
不要一知半解的去修改一点,出错了又咋呼起来,先去看看fromJson到底应该怎么用。

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧