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

How can we update an existing JSON data using javax.json API in Java?

句法

1
JsonObjectBuilder createObjectBuilder()

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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);
   JsonReaderjsonReader = Json.createReader(reader);
   System.out.println("Existing JSON:
" + jsonString);
   StringWriter writer = new StringWriter();
   JsonWriter jsonWriter = Json.createWriter(writer);
   JsonObjectjsonObject = jsonReader.readObject();
   JsonBuilderFactory jsonBuilderFactory = Json.createBuilderFactory(null);
   JsonObjectBuilderjsonObjectBuilder = 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:
" + jsonObject);
 }
}

输出量

1
2
3
4
5
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"}