Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

จะแปลงสตริง JSON เป็น bean โดยใช้ JSON-lib API ใน Java ได้อย่างไร


The JSON-lib API เป็นไลบรารี java สำหรับทำให้เป็นอันดับและยกเลิกการซีเรียลไลซ์ java beans, แผนที่, อาร์เรย์ และ ของสะสม ในรูปแบบ JSON เราจำเป็นต้องแปลงสตริง JSON เป็น bean โดยแปลงสตริงเป็นวัตถุ JSON ก่อน จากนั้นจึงแปลงเป็น java 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 ]