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

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

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

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

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

у меня есть id скажем 1 и новое имя хочу поставить level-2.
так же в будущем в массиве будет вложенные массивы json
  • Вопрос задан
  • 47 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 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);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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