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