gpt4 book ai didi

java - 从对象类型对象获取字段值(Spring)

转载 作者:行者123 更新时间:2023-12-01 16:15:09 26 4
gpt4 key购买 nike

在 Java Spring 启动下,我从具有以下结构的函数返回了一些对象(Object 类型):

{id=5, name=Jasmin, description=Room Jasmin, idType=0, addedAt=2020-06-16T17:20:00.617+0000, modifiedAt=null, deleted=true, images=[string],
idBuilding=2, idFloor=4, idZone=3}

如何获取id的值?我尝试将其转换为 JSONObject 但它不起作用,我也尝试了反射方法:

    Class<?> clazz = x.getClass();
Field field = clazz.getField("fieldName");
Object fieldValue = field.get(x);

但它不起作用,要么返回 null。

谢谢。

最佳答案

如果您无法更改上游函数以返回更有用的内容,因为它来自外部库或其他内容,那么创建 JsonNode (或类似的)可能会很有用:

try {
ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(x);
JsonNode jsonNode = mapper.readTree(json);
JsonNode idNode = jsonNode.get("id");
int id = idNode.asInt();
System.out.println("id = " + id);
}
catch (JsonProcessingException e) {
e.printStackTrace();
}

如果类型实际上只是“对象”,则它不会实现可序列化,并且需要将其包装在实现可序列化的类中。这是一个很好的解释:How to serialize a non-serializable in Java?

供引用:

关于java - 从对象类型对象获取字段值(Spring),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62418950/

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