Для установки Jackson в ваш проект, добавьте зависимость в файл pom.xml
Создайте модель для получения сообщений от пользователей
class TelegramUpdate {
    long updateId;
    long fromId;
    String username;
    String text;
    TelegramUpdate(long updateId, long fromId, String username, String text) {
        this.updateId = updateId;
        this.fromId = fromId;
        this.username = username;
        this.text = text;
    }
    @Override
    public String toString() {
        return String.format("Update ID: %d, From ID: %d, Username: %s, Text: %s\n",
                updateId, fromId, username, text);
    }
}
Эта модель представляет структуру обновления от Telegram API, содержащую ID обновления, ID отправителя, имя пользователя и текст сообщения.
class Main {
    public static void main(String[] args) throws Exception {
        String tgUrlRequest = "...";
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest
                .newBuilder()
                .uri(URI.create(tgUrlRequest))
                .build();
        String jsonResponse = client
                .send(request, HttpResponse.BodyHandlers.ofString())
                .body();
        // System.out.println(jsonResponse);
        ObjectMapper objectMapper = new ObjectMapper();
        JsonNode rootNode = objectMapper.readTree(jsonResponse);
        JsonNode resultArray = rootNode.get("result");
        List<TelegramUpdate> updates = new ArrayList<>();
        for (JsonNode updateNode : resultArray) {
            System.out.println("+");
            long updateId = updateNode.get("update_id").asLong();
            JsonNode messageNode = updateNode.get("message");
            JsonNode fromNode = messageNode.get("from");
            long fromId = fromNode.get("id").asLong();
            String username = fromNode.get("username").asText();
            String text = messageNode.get("text").asText();
            updates.add(new TelegramUpdate(updateId, fromId, username, text));
        }
        for (TelegramUpdate update : updates) {
            System.out.println(update);
        }
    }
}
Этот код выполняет следующие действия:
TelegramUpdate.В терминале будет отображаться перечень полученных сообщений
Update ID: 1234567, From ID: 111222333, Username: iksergey, Text: сообщение 1
Update ID: 1234568, From ID: 111222333, Username: iksergey, Text: сообщение 2
Обратите внимание, что в реальном приложении вам следует обрабатывать возможные исключения и проверять наличие полей в JSON, так как некоторые поля могут отсутствовать в зависимости от типа обновления.
Если программу перезапустить, то сообщения полученные раньше придут ещё раз.
Вопрос: как избавиться от сообщений, полученных ранее?