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

Java에서 개체 모델을 사용하여 JsonWriter로 JSON 개체를 직렬화하는 방법은 무엇입니까?


javax.json .JsonWriter 인터페이스는 JSON 개체 또는 배열 구조를 출력 에 쓸 수 있습니다. 출처 . javax.json.JsonWriterFactory 클래스 JsonWriter 를 생성하는 메소드 포함 인스턴스. 팩토리 인스턴스를 사용하여 동일한 구성으로 여러 라이터 인스턴스를 생성할 수 있습니다. 정적 을 사용하여 출력 소스에서 작성자를 만들 수 있습니다. createWriter() 메서드 javax.json.Json 수업.

구문

public static JsonWriter createWriter(Writer writer)

아래 예에서는 JsonWriter 인터페이스를 사용하여 JSON 개체를 직렬화할 수 있습니다.

예시

import java.io.StringWriter;
import javax.json.Json;
import javax.json.JsonObject;
import javax.json.JsonObjectBuilder;
import javax.json.JsonWriter;
public class JsonWriterTest {
   public static void main(String[] args) {
      JsonObject jsonObj = Json.createObjectBuilder()
                 .add("name", "Adithya")
                 .add("age", 25)
                 .add("salary", 40000)
                 .add("address",
                      Json.createObjectBuilder().add("street", "Madhapur")
                                                .add("city", "Hyderabad")
                                                .add("zipCode", "500084")
                                                .build()
                      )
                 .add("phoneNumber",
                      Json.createArrayBuilder().add("9959984000")
                                               .add("7702144400")
                                               .build()
                     )
                 .build();

      StringWriter stringWriter = new StringWriter();
      JsonWriter writer = Json.createWriter(stringWriter);
      writer.writeObject(jsonObj);
      writer.close();
      System.out.println(stringWriter.getBuffer().toString());
   }
}

출력

{"name":"Adithya","age":25,"salary":40000,"address":{"street":"Madhapur","city":
"Hyderabad","zipCode":"500084"},"phoneNumber":["9959984000","7702144400"]}