【发布时间】:2017-01-17 21:23:11
【问题描述】:
我是 Yaml 新手,不确定如何将这个简单的 Yaml 映射到 Java 对象。基本上,序列化都完成了,我只需要一个对 Yaml 建模的 Java 对象。
这是我的 Yaml:
thriftResources:
- class: MissionWork
jsonIdField: id
jsonResource: test
- class: MissionResource
jsonIdField: uuid
jsonResource: test2
到目前为止,我的班级是这样的:
@Valid
public ThriftResourceConfiguration thriftResources = new ThriftResourceConfiguration();
public class ThriftResourceConfiguration{
@NotNull
@JsonProperty
????
}
我正在寻找的是 Java 对象应该是什么样子才能正确映射。
【问题讨论】:
-
所以基本上问题是“如何在 Java 中反序列化 yaml”?似乎有点宽泛,不是吗?你甚至没有提到你正在使用什么 ser/de 工具。 (如果您还没有选择一个并且正在寻求建议,那么我希望一个 12k-rep 用户会知道这在 SO 上是题外话......)
-
不不,正是 yaml 对象在 java 中想要的。对不起,说得更清楚了。是的,我意识到这是一个非常基本的问题。它一直让我发疯,试图解除这件事。但我正在为此使用 Katahrsis。
-
我不熟悉 Katahrsis。如果他们不进行某种魔术 bean 式的反序列化,我希望您在上面提供的 yaml 中返回一个包含 Maps of String -> String 的 List,然后由您决定将该映射列表转换为您想要的任何 Java 类的列表。