Sobes.tech
Middle

Is it possible to parse JSON without creating a DTO class in advance? How might it look?

sobes.tech AI

Answer from AI

Yes, it is possible to parse JSON without creating a DTO class beforehand, using dynamic data structures such as Map or JsonNode (in Jackson).

Example with Jackson:

import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;

String json = "{\"name\":\"Ivan\", \"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();
}

Or using Map:

import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;

String json = "{\"name\":\"Ivan\", \"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();
}

This approach is convenient when the JSON structure is unknown in advance or too dynamic.