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

Làm cách nào để tuần tự hóa một chuỗi JSON thành một Trình xử lý đầu ra trong Java?


Flexjson là một thư viện nhẹ để tuần tự hóa deserializing Các đối tượng Java sang và từ định dạng JSON. Một JSONSerializer là lớp chính để thực hiện tuần tự hóa các đối tượng Java thành JSON. Chúng tôi có thể tuần tự hóa một chuỗi JSON tới một Trình xử lý đầu ra bằng cách sử dụng WriterOutputHandler và nó triển khai Trình xử lý đầu ra giao diện.

Cú pháp

public class WriterOutputHandler extends Object implements OutputHandler

Ví dụ

import java.io.*;
import flexjson.JSONSerializer;
import flexjson.OutputHandler;
import flexjson.WriterOutputHandler;
public class JsonOutputHandlerTest {
   public static void main(String[] args) {
      JSONSerializer serializer = new JSONSerializer().prettyPrint(true); // pretty print JSON
      Employee emp = new Employee("Raja", "Ramesh", 28, "Hyderabad");
      OutputHandler out = new WriterOutputHandler(new StringWriter());
      serializer.serialize(emp, out);
      System.out.println(out.toString());
   }
}
// Employee class
class Employee {
   private String firstName;
   private String lastName;
   private int age;
   private String address;
   public Employee() {
   }
   public Employee(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 "Employee[ " +
             "firstName = " + firstName +
             ", lastName = " + lastName +
             ", age = " + age +
             ", address = " + address +
             " ]";
   }
}

Đầu ra

{
 "address": "Hyderabad",
 "age": 28,
 "class": "Employee",
 "firstName": "Raja",
 "lastName": "Ramesh"
}