Назад к вопросам
Middle
4
Можно ли парсить JSON без создания DTO-класса заранее? Как это могло бы выглядеть?
Компании, где спрашивали
Финансовые платформы
Ответ от нейросети
sobes.tech AI
Да, можно парсить JSON без создания DTO-класса заранее, используя динамические структуры данных, например, Map или JsonNode (в Jackson).
Пример с Jackson:
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
String json = "{\"name\":\"Иван\", \"age\":30}";
ObjectMapper mapper = new ObjectMapper();
try {
JsonNode node = mapper.readTree(json);
String name = node.get("name").asText();
int age = node.get("age").asInt();
System.out.println("Name: " + name + ", Age: " + age);
} catch (Exception e) {
e.printStackTrace();
}
Или с использованием Map:
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
String json = "{\"name\":\"Иван\", \"age\":30}";
ObjectMapper mapper = new ObjectMapper();
try {
Map<String, Object> map = mapper.readValue(json, new TypeReference<Map<String, Object>>() {});
System.out.println("Name: " + map.get("name"));
System.out.println("Age: " + map.get("age"));
} catch (Exception e) {
e.printStackTrace();
}
Такой подход удобен, когда структура JSON заранее неизвестна или слишком динамична.