The JsonBuilderFactory ส่วนต่อประสานเป็นโรงงานเพื่อสร้าง JsonObjectBuilder อินสแตนซ์และ JsonObjectBuilder เป็นผู้สร้างสำหรับการสร้าง JsonObject โมเดลตั้งแต่เริ่มต้น อินเทอร์เฟซนี้เริ่มต้น JSON ที่ว่างเปล่า รูปแบบวัตถุและให้วิธีการเพิ่มคู่ชื่อ/ค่า ไปยังโมเดลอ็อบเจ็กต์และส่งคืนอ็อบเจ็กต์ผลลัพธ์ เราสามารถสร้าง JsonObjectBuilder อินสแตนซ์ที่สามารถใช้ในการสร้าง JsonObject โดยใช้ createObjectBuilder () วิธีการ
ไวยากรณ์
JsonObjectBuilder createObjectBuilder()
ในตัวอย่างด้านล่าง เราสามารถอัปเดตข้อมูล JSON ที่มีอยู่ด้วยข้อมูลที่เพิ่มใหม่ได้
ตัวอย่าง
import java.io.*;
import javax.json.*;
public class UpdateExistingJsonTest {
public static void main(String[] args) throws Exception {
String jsonString = "{\"id\":\"115\", \"name\":\"Raja\", \"address\":[{\"area\":\"Madhapur\", \"city\":\"Hyderabad\"}]}";
StringReader reader = new StringReader(jsonString);
JsonReader jsonReader = Json.createReader(reader);
System.out.println("Existing JSON: \n" + jsonString);
StringWriter writer = new StringWriter();
JsonWriter jsonWriter = Json.createWriter(writer);
JsonObject jsonObject = jsonReader.readObject();
JsonBuilderFactory jsonBuilderFactory = Json.createBuilderFactory(null);
JsonObjectBuilder jsonObjectBuilder = jsonBuilderFactory.createObjectBuilder();
for(String key : jsonObject.keySet()) {
jsonObjectBuilder.add(key, jsonObject.get(key));
}
jsonObjectBuilder.add("Contact Number", "9959984000");
jsonObjectBuilder.add("Country", "India");
jsonObject = jsonObjectBuilder.build();
jsonWriter.writeObject(jsonObject);
System.out.println("new JSON: \n" + jsonObject);
}
} ผลลัพธ์
Existing JSON:
{"id":"115", "name":"Raja", "address":[{"area":"Madhapur", "city":"Hyderabad"}]}
new JSON:
{"id":"115","name":"Raja","address":[{"area":"Madhapur","city":"Hyderabad"}],"Contact Number":"9959984000","Country":"India"}