Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 JSON 문자열을 출력 핸들러로 직렬화하는 방법은 무엇입니까?


Flexjson 직렬화 를 위한 경량 라이브러리입니다. 및 역직렬화 Java 객체를 JSON 형식으로 또는 JSON 형식에서. JSONSerializer Java 객체를 JSON으로 직렬화하기 위한 기본 클래스입니다. WriterOutputHandler 를 사용하여 JSON 문자열을 출력 핸들러로 직렬화할 수 있습니다. 클래스이며 OutputHandler 를 구현합니다. 인터페이스.

구문

public class WriterOutputHandler extends Object implements OutputHandler

예시

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 +
             " ]";
   }
}

출력

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