如何在 Java 中使用 Object Model 透過 JsonWriter 序列化 JSON 物件?


 javax.json.JsonWriter 介面可以將 JSON 物件或陣列結構寫入輸出 javax.json.JsonWriterFactory 類包含建立JsonWriter 例項的方法。可以使用工廠例項建立具有相同配置的多個編寫器例項。我們可以使用 javax.json.Json 類的static 方法createWriter()根據輸出源建立寫入器。

語法

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

更新於: 08-Jul-2020

3K+ 檢視

開啟您的 職業生涯

完成課程即可獲得認證

開始
廣告