Sobes.tech
Middle
40

Vai ir iespējams parsēt JSON bez iepriekšējas DTO klases izveides? Kā tas varētu izskatīties?

Uzņēmumi, kur jautāja
Финансовые платформы

Atbilde no AI

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