gpt4 book ai didi

java - 如何根据 JSON 对象的字段值创建特定 Java 类的对象?

转载 作者:太空宇宙 更新时间:2023-11-04 10:32:37 25 4
gpt4 key购买 nike

我正在尝试从 JSON 文件反序列化对象。我有抽象类 Car,它由 MinibusMinivan 类扩展。我通过 maxPassengerstrunkSize 字段的值确定确切的类别。

当我根据 JSON 中的参数反序列化时,我需要创建一个 MinibusCarMinivanCar 对象。最有效的方法是什么?请指教。

最佳答案

此处没有足够的信息。您能给我们展示这个 json 文件的示例吗?

一般情况下,您可以使用 Jackson 包:

    // Serialize into JSONObject
JSONObject json = (JSONObject) JSONSerializer.toJSON(jsonTxt);

// Get your value from it, for example:
int maxPassengers = json.get("maxPassengers");

// Init your object mapper
ObjectMapper mapper = new ObjectMapper();

// Based on this value, create your object
Car car; // Using polymorphism (you can also read about Factory design pattern)
if (maxPassengers > 10){
car = mapper.readValue(jsonTxt, MinibusCar.class);
} else {
car = mapper.readValue(jsonTxt, MinivanCar.class);
}

但是,在您向我们展示类(其中三个)和一些 json 示例文件之前,这个解决方案并不完美。

祝你好运!

关于java - 如何根据 JSON 对象的字段值创建特定 Java 类的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49832609/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com