我们如何使用Java中的javax.json API更新现有的JSON数据?

该JsonBuilderFactory 接口是一个工厂来创建JsonObjectBuilder 实例和JsonObjectBuilder 是创建一个构造函数的JSONObject 从头模型。此接口初始化一个空的JSON 对象模型,并提供将名称/值对添加到该对象模型并返回结果对象的方法。我们可以创建一个JsonObjectBuilder 实例,该实例可用于使用createObjectBuilder()方法构建JsonObject 。

语法

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("ContactNumber", "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"}],"ContactNumber":"9959984000","Country":"India"}

以上是 我们如何使用Java中的javax.json API更新现有的JSON数据? 的全部内容, 来源链接: utcz.com/z/347397.html

回到顶部