关于用gson解析json的。解决方法
关于用gson解析json的。。
如上代码,为什么我把其中的LinkedList换成arraylist,就报错了,说arraylist can‘t cast LinkedList?
------解决方案--------------------
------解决方案--------------------
为什么我这边没问题的,难道你漏了什么地方?
没导包?还是要改两处,你只改了一处?
虽然贴代码不好……但是这种奇怪的错误还是贴一下
------解决方案--------------------
你换个gson包,我用的是2.2.4官网有下。我换掉gson的jar包就好了……
既然不是代码问题,一般我遇到的就是jar包问题,或自己导错包,或者是xml写错了~
LinkedList<User> al=new LinkedList<User>();
Type t=new TypeToken<LinkedList<User>>() {
}.getType();
Gson gson=new Gson();
al=gson.fromJson(jsonStr, t);
for(User us:al)
System.out.println(us.getName()+","+us.getAge());
如上代码,为什么我把其中的LinkedList换成arraylist,就报错了,说arraylist can‘t cast LinkedList?
------解决方案--------------------
ArrayList<User> al = new ArrayList<User>();
al = new Gson().fromJson(jsonStr,
new TypeToken<ArrayList<User>>() {
}.getType());
------解决方案--------------------
为什么我这边没问题的,难道你漏了什么地方?
没导包?还是要改两处,你只改了一处?
虽然贴代码不好……但是这种奇怪的错误还是贴一下
public void Test(){
String str = "[{\"name\":\"wang\",\"age\":\"1\"},{\"name\":\"chen\",\"age\":\"2\"}]";
Gson gson = new Gson();
Type t = new TypeToken<ArrayList<User>>() {//改动1
}.getType();
ArrayList<User> ps = gson.fromJson(str, t);//改动2
for (int i = 0; i < ps.size(); i++) {
User us = ps.get(i);
System.out.println(us.toString());
}
}
class User {
String name;
int age;
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
@Override
public String toString() {
return "User [name=" + name + ", age=" + age + "]";
}
}
------解决方案--------------------
你换个gson包,我用的是2.2.4官网有下。我换掉gson的jar包就好了……
既然不是代码问题,一般我遇到的就是jar包问题,或自己导错包,或者是xml写错了~