gpt4 book ai didi

java - Jackson 模板属性替换

转载 作者:太空宇宙 更新时间:2023-11-04 13:44:11 24 4
gpt4 key购买 nike

我正在使用包含 JSON 的文件来配置应用程序的内部结构。我希望能够使用系统属性等配置我的值,并在解码 JSON 时对它们进行变量替换。

我写的模板部分没什么大不了的。我试图找出将其插入我的 ObjectMapper 的最佳方法。

环顾四周,我认为最好的地方是 JsonParser.getText 方法,但我似乎找不到任何明智的方法来做到这一点。

这是我正在尝试做的事情的一个片段示例。基本上我需要在反序列化之前解析该属性。

我将 Path 示例放在那里,因为之前我天真地在 POJO 的 setter 上执行此操作,这导致 JDK7Module 的 Path 反序列化失去了理智(它不喜欢:)

[
{ "name": "${sys:NAME}",
"path": "${sys:ROOT}"
}
]

最佳答案

我最终创建了一个解析 FilterInputStream 的属性。当我从代码中的文件中反序列化 JSON 时,我获得了这种奢侈。

以此为灵感,但由于 token 大小不同,必须完全实现它并以稍微不同的方式进行:

Filter (search and replace) array of bytes in an InputStream

我仍然渴望听到关于如何将其融入 Jackson 的正常流程的任何想法,因为这可能是我想要扩展到 JAX-RS 流程的内容,并且我不确定我是否有权包装这些输入流 - 尽管我想我可以在该 API 中找到这样做的钩子(Hook)。

关于java - Jackson 模板属性替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31031102/

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