gpt4 book ai didi

java - Jackson 如何自动反序列化 java.nio.file.Path?

转载 作者:行者123 更新时间:2023-12-03 22:00:30 27 4
gpt4 key购买 nike

我不是在提示,而是想了解它为什么有效。

这是我的 Java 类:

public static class ExampleClass {
private Path target;

public Path getTarget() {
return target;
}

public void setTarget(Path target) {
this.target = target;
}
}

这是 JSON:
{
"target": "some/path"
}

现在一个简单的测试表明它可以工作:
ObjectMapper mapper = new ObjectMapper();
ExampleClass exampleClass = mapper.readValue(json, ExampleClass.class);
assertEquals(Path.of("some/path"), exampleClass.getTarget());

但是怎么做? Path 中没有(公共(public))构造函数, 接受 String . Jackson怎么知道需要调用 Path.of() ?

最佳答案

jackson 的ObjectMapper开箱即用预定义的标准序列化器/反序列化器。 jackson 版 2.10.1 NioPathDeserializer (从版本 2.8 开始)将在反序列化为 Path 时调用对象。

关于java - Jackson 如何自动反序列化 java.nio.file.Path?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59695949/

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