В моем требовании я читаю JsonArray (javax.json.JsonArray) из локального файла, как показано ниже:Как удалить элемент из javax.json.JsonArray в java?
JsonReader reader = Json.createReader(new FileReader(path));
JsonArray regAttribArr = reader.readObject().getJsonObject("Entries")
.getJsonArray("Attributes");
reader.close();
После этого при удалении элемента из этого массива, как показано ниже,
JsonValue tempjv = regAttribArr.get(0);
regAttribArr.remove(tempjv);
его бросает UnsupportedOperationException как класс JsonArray - это немодифицируемый список.
Есть ли альтернативный способ удаления элемента из этого объекта javax.json.JsonArray?
В 'javax.json' типы JSON неизменны. Вам придется создавать копии самостоятельно («копии», которые не включают то, что вы хотите удалить). –
В моем требовании у меня есть список объектов json, исходящих из полезной нагрузки запроса, каждый из которых один за другим по сравнению со списком json-объектов, считанных из файла. Всякий раз, когда совпадение найдено для любого из объектов json, объект должен быть удален из JsonArray, прочитанного из файла. В соответствии с комментарием каждый раз, когда ему нужно пройти, а также нужно создать новый объект jsonarray. Поэтому будет много времени потребляя. – Krutik