gpt4 book ai didi

java - Jackson CustomSerializer 适用于特定字段

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

我需要获取包含约 60 个字段的文档并将其映射到客户架构。我们的模式有一个字段,我将其作为数组,如下所示:

  "documents": [{
"type": "Resume",
"url": "https://.s3.amazonaws.com/F58723BD-6148-E611-8110-000C29E6C08D.txt"
}, {
"type": "Reference",
"url": "https://.s3.amazonaws.com/F58723BD-6148-E611-8110-000C29E6C08D.txt"
}]

我需要将其转换为:

"document1": {"type":"Resume", "https://.s3.amazonaws.com/F58723BD-6148-E611-8110-000C29E6C08D.txt"}
"document2": {"type":"Reference", "url":"https://.s3.amazonaws.com/F58723BD-6148-E611-8110-000C29E6C08D.txt"}

我已经启动了一个 cumstom 序列化器,但真的非常希望不必为所有 60 个字段编写一个自定义序列化器来只进行一次转换。有没有一种方法可以告诉 jackson 正常序列化所有其他字段并仅对这一个实例使用我的逻辑?

我尝试了多种选项,但不断收到有用的错误:

com.fasterxml.jackson.core.JsonGenerationException: Can not write a field name, expecting a value

如果我能确定这意味着什么,那将会非常有帮助。

提前致谢!

最佳答案

一个可能的解决方案是让 cumstom 序列化程序为所有可以进行默认序列化的字段调用默认序列化程序。
请参阅此线程了解如何执行此操作 How to access default jackson serialization in a custom serializer

关于java - Jackson CustomSerializer 适用于特定字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39175206/

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