如何使用Java中的JSON-lib API将JSON字符串转换为bean?
该JSON-lib的API 是一个Java库序列化和反序列化的Javabean,映射,数组和集合 JSON格式。我们需要先将字符串转换为JSON对象,然后再将其转换为Javabean,以将JSON字符串转换为bean。
语法
public static Object toBean(JSONObject jsonObject, Class beanClass)
在下面的程序中,我们可以将JSON字符串转换为bean。
示例
import net.sf.json.JSONObject;
import net.sf.json.JSONSerializer;
public class ConvertJSONStringToBeanTest {
public static void main(String[] args) {
String jsonStr = "{\"firstName\": \"Adithya\", \"lastName\": \"Sai\", \"age\": 30, \"technology\": \"Java\"}";
JSONObject jsonObj = (JSONObject)JSONSerializer.toJSON(jsonStr); // convert String to JSON
System.out.println(jsonObj);
Student student = (Student)JSONObject.toBean(jsonObj, Student.class); // convert JSON to Bean
System.out.println(student.toString());
}
public static class Student {
private String firstName;
private String lastName;
private int age;
private String technology;
public Student() {
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getTechnology () {
return technology;
}
public void setTechnology(String technology) {
this.technology = technology;
}
public String toString() {
return "Student[ " +
"firstName = " + firstName +
", lastName = " + lastName +
", age = " + age +
", technology = " + technology +
" ]";
}
}
}输出结果
{"firstName":"Adithya","lastName":"Sai","age":30,"technology":"Java"}
Student[ firstName = Adithya, lastName = Sai, age = 30, technology = Java ]