我们如何使用 Java 中的 javax.json API 来更新现有的 JSON 数据?
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"}
广告