【发布时间】:2020-03-20 08:45:28
【问题描述】:
挑战
我有一个完全扁平的 (POGO/POJO) 对象,我需要将其序列化为嵌套的 JSON 结构。最好使用 Jackson 注释和/或自定义序列化器
我只对从对象序列化到 JSON 感兴趣,不需要反序列化。
示例
我想转这门课:
class SomeClass {
@JsonProperty('Business.Name')
BigDecimal prop1 = 42.0
@JsonProperty('Other.Nested.Business.Name')
BigDecimal prop2 = 3.14
}
进入这个 JSON:
{
"Other" : {
"Nested.Business.Name" : 3.14
},
"Business.Name" : 42.0
}
第 22 条渔获
类的代码是自动生成的。我对这一代人有一些影响,但它需要完全平坦!
任何帮助将不胜感激!
其他信息
我已经尝试过制作自定义序列化程序,但未能编写嵌套结构。
class SomeClassSerializer extends StdSerializer<SomeClass> {
void serialize(SomeClass value, JsonGenerator jgen, SerializerProvider provider) {
jgen.writeStartObject()
jgen.writeNumberField("Business.Name", value.prop1)
//how to write the nested structure
jgen.writeEndObject()
}
....
}
【问题讨论】: