Sobes.tech
Назад к вопросам
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 заранее неизвестна или слишком динамична.