แพ็กเกจ javax.json มอบ Object Model API สำหรับประมวลผล JSON Object Model API เป็น API ระดับสูงที่ให้โมเดลอ็อบเจกต์ที่ไม่เปลี่ยนแปลง (immutable) สำหรับโครงสร้าง JSON object และ array โครงสร้างเหล่านี้สามารถแสดงเป็นโมเดลอ็อบเจกต์ได้โดยใช้อินเทอร์เฟซ JsonObject และ JsonArray เราสามารถใช้ JsonGenerator เขียนข้อมูล JSON ไปยังเอาต์พุตแบบสตรีมมิ่ง JsonGenerator.PRETTY_PRINTING เป็นคุณสมบัติการกำหนดค่าเพื่อสร้าง JSON ให้สวยงาม (pretty print)
ตัวอย่างโค้ด
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"
}