我們如何使用 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"}

更新日期:08-Jul-2020

7K+ 次瀏覽

啟動您的職業生涯

完成課程即可獲得認證

入門
廣告