如何使用 Java 中的对象模型通过 JsonWriter 序列化 JSON 对象?

javajsonobject oriented programmingprogramming

 javax.json.JsonWriter  接口可以将 JSON 对象或数组结构写入 输出 。类 javax.json.JsonWriterFactory 包含用于创建 JsonWriter  实例的方法。工厂实例可用于创建具有相同配置的多个编写器实例。我们可以使用javax.json.Json类的静态方法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"]}

相关文章