如何使用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 ]