Computer >> Máy Tính >  >> Lập trình >> Java

Làm cách nào để tuần tự hóa một bản đồ bằng cách sử dụng thư viện flexjson trong Java?


Flexjson là một nhẹ thư viện để tuần tự hóa và giải mã hóa các đối tượng Java thành và từ định dạng JSON. Chúng tôi cũng có thể tuần tự hóa Bản đồ sử dụng serialize () phương pháp của JSONSerializer , nó thực hiện tuần tự hóa nông đối tượng đích.

Cú pháp

public String serialize(Object target)

Ví dụ

import flexjson.JSONSerializer;
import java.util.*;
public class JsonSerializeMapTest {
   public static void main(String[] args) {
      JSONSerializer serializer = new JSONSerializer().prettyPrint(true);
      Student student = new Student("Adithya", "Sai", 28, "Hyderabad");
      Map<String, Object> map = new HashMap<String, Object>();
      map.put("Student1", "Raja");
      map.put("Student2", "Ravi");
      map.put("my_student", student);
      String jsonStr = serializer.serialize(map);
      System.out.println(jsonStr);
   }
}
// Student class
class Student {
   private String firstName;
   private String lastName;
   private int age;
   private String address;
   public Student() {}
   public Student(String firstName, String lastName, int age, String address) {
      super();
      this.firstName = firstName;
      this.lastName = lastName;
      this.age = age;
      this.address = address;
   }
   public String getFirstName() {
      return firstName;
   }
   public String getLastName() {
      return lastName;
   }
   public int getAge() {
      return age;
   }
   public String getAddress() {
      return address;
   }
   public String toString() {
      return "Student[ " +
             "firstName = " + firstName +
             ", lastName = " + lastName +
            ", age = " + age +
         ", address = " + address +" ]";
   }  
}

Đầu ra

{
   "my_student": {
      "address": "Hyderabad",
      "age": 28,
      "class": "Student",
      "firstName": "Adithya",
      "lastName": "Sai"
 },
 "Student1": "Raja",
 "Student2": "Ravi"
}