今天练习JSON与JAVA之间的转化时,遇到如下错误:
显示实例化Fri类时发生错误,Fri类的代码如下:
public class Fri {
String name;
int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public Fri(String name,int age){
this.name=name;
this.age=age;
}
}
JSON转化JAVA代码如下:
public static void fc(){
//JSON TO JAVA
String str="{\"name\":\"jack\",\"age\":12}";
JSONObject j=JSONObject.fromObject(str);
Fri f=(Fri)j.toBean(j,Fri.class);
System.out.println(f.getName());
System.out.println(f.getAge());
}
经过分析调试,找到原因所在:因为我在Fri类中只编写了有参构造函数,重载了无参构造函数,而我的上例转化方式,需要应用到无参构造函数。于是报错。
解决办法:在Fri类中添加无参构造函数。