我正在尝试使用javax.json在程序运行时编辑json数组。我想用带有新提供的信息的新数组覆盖当前数组。但是,当我对当前文件使用JsonWriter.writeArray时,新的json数组将覆盖文件中的所有内容。我想知道是否可以通过我的文件路径直接指向相关的json数组,即“ C:/Users/me/Documents/example.json/className/array”以仅覆盖必要的信息。
JsonObject curr = file.getJsonObject("example");
JsonArray exArr = curr.getJsonArray("example2");
JsonArrayBuilder builder = Json.createArrayBuilder();
for(JsonValue v: exArr){
builder.add(v);
}
builder.add(newRel);
JsonArray newArr = builder.build();
try{
OutputStream out = new FileOutputStream("C:/Users/me/Documents/"
+ "example.json");
JsonWriter jWriter = Json.createWriter(out);
jWriter.writeArray(newArr);
}
catch(FileNotFoundException e){
System.out.println(e);
}