I am coding a feature in which I read and write back json. However I can read the json elements from a file but can't edit the same loaded object. Here is my code which I am working on.
InputStream inp = new FileInputStream(jsonFilePath);
JsonReader reader = Json.createReader(inp);
JsonArray employeesArr = reader.readArray();
for (int i = 0; i < 2; i++) {
JsonObject jObj = employeesArr.getJsonObject(i);
JsonObject teammanager = jObj.getJsonObject("manager");
Employee manager = new Employee();
manager.name = teammanager.getString("name");
manager.emailAddress = teammanager.getString("email");
System.out.println("uploading File " + listOfFiles[i].getName());
File file = insertFile(...);
JsonObject tmpJsonValue = Json.createObjectBuilder()
.add("fileId", file.getId())
.add("alternativeLink", file.getAlternateLink())
.build();
jObj.put("alternativeLink", tmpJsonValue.get("alternativeLink")); <-- fails here
}
I get the following exception when I run it.
Exception in thread "main" java.lang.UnsupportedOperationException
at java.util.AbstractMap.put(AbstractMap.java:203)
at com.mongodb.okr.DriveQuickstart.uploadAllFiles(DriveQuickstart.java:196)
at com.mongodb.okr.App.main(App.java:28)
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…