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