Задать вопрос
@renya555

Обновить название jsonobject, без потерь?

Здравствуйте знатоки! у меня такая задачка, нужно в массиве JSONArray, вытянуть название переименовать его, и засунуть обратно.

Вопрос: без потерь, это придется все данные перебирать создавая новые массив?

массив такого вида:
[{"id":0,"name":"l1"},{"id":1,"name":"l2"}]

у меня есть id скажем 1 и новое имя хочу поставить level-2.
так же в будущем в массиве будет вложенные массивы json
  • Вопрос задан
  • 52 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Shagiakhmetov
Без проверок на тип ключа используя Jackson, проверить массив можно через node.isArray()

private void jsonParse() throws JsonProcessingException {
String str = "[{\"id\":0,\"name\":\"l1\"},{\"id\":1,\"name\":\"l2\"}]";
JsonNode root = new ObjectMapper().readTree(str);
root.forEach(node -> {
System.out.println(node);
if (node.isObject() && node.get("id").asInt() == 1) {
((ObjectNode) node).put("name", "level-2");
}
});
root.forEach(System.out::print);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы