标签:
今天想看一下json把JSONObject转换成javabean的源代码,于是就建了一个简单的工程导入了json-lib-2.2.1.jar,写了一个实体类Student和一个main方法。
Student类:
package entity;
public class Student {
private String name;
private int id;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "Student [name=" + name + ", id=" + id + ", age=" + age + "]";
}
}
main方法:
package sort;
import entity.Student;
import net.sf.json.JSONObject;
public class JsonToBean {
public static void main(String[] args) {
String json = "{id:‘1001‘,name:‘张三‘,age:‘22‘}";
JSONObject jsonMetaData = JSONObject.fromObject(json);
try {
Student stud = (Student) JSONObject.toBean(jsonMetaData,Student.class);
System.out.println(stud.toString());
} catch (Exception e) {
System.out.println(e);
}
}
}
然后觉得代码没问题,一编译就报classnotfound错误,原来要使用json-lib-2.2.1.jar的时候不仅仅要导入这个包,还要把以前几个包都导进来:
commons-logging-1.0.4.jar commons-lang-2.3.jar commons-collections-3.2.jar commons-beanutils-1.7.0.jar ezmorph-1.0.4.jar
2.倒入其余的jar包之后编译就没报classnotfound错误,却出现了一种新的错误:
net.sf.json.JSONException: java.lang.NoSuchMethodException: sort.JsonToBean$Student.<init>()
因为之前是因为省事直接把student定义成内部类了,改成正常的就可以了。
标签:
原文地址:http://www.cnblogs.com/kniught-ice/p/4742888.html