【发布时间】:2021-02-05 16:13:36
【问题描述】:
我正在尝试从 JsonNode 获取日期值。我有一个汽车对象,它具有汽车名称并已发布 LocalDate。
public class Car {
String carName;
LocalDate released;
}
我需要将它转换成JsonNode,所以我这样做了。
ObjectMapper obj = new ObjectMapper();
JsonNode node = obj.valueToTree(car);
直到这里我都很好。一旦我有了 JsonNode,我需要从中读取它。
String carName = node.at("/carName").textValue();
LocalDate date = node.at("/released").textValue();
如何从 JsonNode 获取 LocalDate 格式或字符串格式的 LocalDate 值?
【问题讨论】:
-
你能澄清一下吗?如果您想要日期的文本表示,那么
String date = node.at("/released").textValue();不工作吗?当您从具体类转到 JsonNode 然后尝试读出值时,我很难理解您要完成的工作。 -
您好,感谢您的调查。实际上,我正在尝试这种方式, String date = node.at("/released").textValue();但它不起作用,不幸的是没有像 asDateValue() 这样的方法可用。所以回答你的问题,我需要从 JsonNode 获取 LocalDate 值。我如何使用以及使用什么并不重要。希望这是有道理的。再次感谢!
-
好的,当你调用
.textValue()时会发生什么? -
我得到空值。对于字符串值,假设我想获取 carName,我可以执行 .textValue() 并能够获取字符串值。
-
是的,它可能不是字符串值。查看这篇文章以获取有关如何更改 LocalDate stackoverflow.com/questions/28802544/… 序列化的选项
标签: objectmapper jackson-databind jsonnode