Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Java

สวยพิมพ์ JSON โดยใช้ javax.json API ใน Java หรือไม่


The javax.json แพ็คเกจจัดเตรียม Object Model API เพื่อประมวลผล JSON Object Model API เป็น API ระดับสูงที่มีโมเดลอ็อบเจ็กต์ที่ไม่เปลี่ยนรูปแบบสำหรับออบเจ็กต์ JSON และโครงสร้างอาร์เรย์ โครงสร้าง JSON เหล่านี้สามารถแสดงเป็นโมเดลวัตถุได้โดยใช้ JsonObject และ JsonArray อินเทอร์เฟซ เราสามารถใช้ JsonGenerator อินเทอร์เฟซเพื่อเขียนข้อมูล JSON ไปยังเอาต์พุตในลักษณะสตรีมมิ่ง JsonGenerator.PRETTY_PRINTING เป็นคุณสมบัติการกำหนดค่าเพื่อสร้าง JSON ได้อย่างสวยงาม

เราสามารถปรับใช้ JSON แบบพิมพ์ที่สวยงามในตัวอย่างด้านล่าง

ตัวอย่าง

import java.io.*;
import java.util.*;
import javax.json.*;
import javax.json.stream.*;
public class JSONPrettyPrintTest {
   public static void main(String args[]) {
      String jsonString = "{\"name\":\"Raja Ramesh\",\"age\":\"35\",\"salary\":\"40000\"}";
      StringWriter sw = new StringWriter();
      try {
         JsonReader jsonReader = Json.createReader(new StringReader(jsonString));
         JsonObject jsonObj = jsonReader.readObject();
         Map<String, Object> map = new HashMap<>();
         map.put(JsonGenerator.PRETTY_PRINTING, true);
         JsonWriterFactory writerFactory = Json.createWriterFactory(map);
         JsonWriter jsonWriter = writerFactory.createWriter(sw);
         jsonWriter.writeObject(jsonObj);
         jsonWriter.close();
      } catch(Exception e) {
         e.printStackTrace();
      }
      String prettyPrint = sw.toString();
      System.out.println(prettyPrint); // pretty print JSON
   }
}

ผลลัพธ์

{
   "name": "Raja Ramesh",
 "age": "35",
  "salary": "40000"
}