1
序列化對象時通過傑克遜陽明我得到以下輸出:傑克遜YAML類型的信息是錯誤的序列
---
commands:
dev: !<foo.bar.baz.DevCommand>
不過,我要的是:
---
commands:
dev:
type: foo.bar.baz.DevCommand
我能反序列化該罰款。也就是說,反序列化部分按預期工作。我已經把下面的註釋到處我能想到的:
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="type")
包括DevCommand接口上,對DevCommand具體類,其上有commands
地圖(外地和getter/setter方法兩者)的類型。
我需要做些什麼來強制傑克遜使用我想要的格式?
從JsonTypeInfo的DOC:*用於配置是否以及如何類型信息與** ** JSON序列化和反序列化使用的細節詮釋* - 由於您序列化爲YAML,因此它不適用,Jackson使用YAML的標籤系統。 – flyx
@flyx但它使用JsonTypeInfo註釋來配置yaml的反序列化.... – mtyson