Middle
46
Може ли парсити JSON без претходног креирања DTO класе? Како то може изгледати?
Компаније где су питане
Финансовые платформы
Одговор од АИ
sobes.tech АИ
Да, можно парсить 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 заранее неизвестна или слишком динамична.