在Java中,可以使用JsonNode类来动态生成对象,而无需自定义Java类。以下是一个示例代码:

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

public class DynamicObjectGeneration {
    public static void main(String[] args) {
        String json = "{ \"name\": \"John\", \"age\": 30 }";

        try {
            ObjectMapper objectMapper = new ObjectMapper();
            JsonNode jsonNode = objectMapper.readTree(json);

            // 获取JsonNode中的属性值
            String name = jsonNode.get("name").asText();
            int age = jsonNode.get("age").asInt();

            // 创建动态对象
            Object dynamicObject = new Object() {
                public String name = jsonNode.get("name").asText();
                public int age = jsonNode.get("age").asInt();
            };

            // 打印动态对象的属性值
            System.out.println("Name: " + name);
            System.out.println("Age: " + age);

            // 打印动态对象
            System.out.println(dynamicObject);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

在上述代码中,我们使用Jackson库的ObjectMapper类来解析JSON字符串,并将其转换为JsonNode对象。然后,我们可以使用JsonNode对象的get()方法来获取属性值。接下来,我们使用匿名内部类的方式创建了一个动态对象,并在其中定义了与JSON属性对应的属性。最后,我们打印了动态对象的属性值。

请注意,由于动态对象是使用匿名内部类创建的,因此无法直接打印该对象的内容。如果需要打印对象的内容,可以使用toString()方法来实现。

java 在运行中 根据json 文件动态生成对象 不需要自定义Java类 并且自定义Class的name

原文地址: https://www.cveoy.top/t/topic/izYW 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录