我有一些存在于层次结构中的 JSON 模式:A extends B extends C。我正在使用jsonschema2pojo从这些中生成 Java 类,并将它们生成到匹配的类层次结构中。
由于我生成类的方式,我无法细粒度地控制哪些注释可以应用于哪些字段(即@JsonPropertyOrder
)
当我连载 Jackson 时,我得到类似的东西
{
"propertyOfA": "razz",
"propertyOfA": "jazz",
"propertyOfA": "baz",
"propertyOfB": "bar",
"propertyOfC": "foo"
}
这是正确的,因为属性顺序在 JSON 中没有意义。然而,我的实际消息非常长——数千个字符——在浏览日志时,如果更通用的属性(来自基本模式、模式 C 的属性)(只有少数几个)首先出现,会更方便在消息中。
架构/类中的各个属性顺序并没有让我很困扰,但如果我能让 Jackson 先降低层次结构然后回溯,那就太好了。
{
"propertyOfC": "foo",
"propertyOfB": "bar",
"propertyOfA": "razz",
"propertyOfA": "jazz",
"propertyOfA": "baz"
}
我检查了所有的Feature
s 和MapperFeature
s,我发现唯一影响顺序的是SORT_PROPERTIES_ALPHABETICALLY
.
ObjectMapper
在-level 上,或者在不改变类的情况下,我还能做些什么来影响这个顺序?
慕无忌1623718
相关分类