java 在运行中 根据json 文件动态生成对象 不需要自定义Java类 并且自定义Class的name
在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()方法来实现。
原文地址: https://www.cveoy.top/t/topic/izYW 著作权归作者所有。请勿转载和采集!