首页 > 解决方案 > 我正在使用 YAML 文件将对象值解析为 DataFilter 对象

问题描述

我的 DataFilter 类看起来像这样 -

public class DataFilter {
  private String widgetName;
  ...
  private Map<FormInfo, WidgetInfo> objectMapping;
}

objectMapping中的对象是这样的——

public class FormInfo {
    private String name;
    private String path;
}

public class WidgetInfo {
    private String value;
    private String message;
}

现在,在我的 YAML 文件中,我想提供对象值。如何在 YAML 文件中定义objectMapping ?

如果地图具有作为字符串类型的键和值,那么我可以将其作为

testMapping:
  key1: value1
  key2: value2

由于objectMapping映射有对象作为键和值,我如何在 YAML 中定义它?有人可以帮我解决这个问题吗..

标签: yaml

解决方案


YAML 映射可以有复杂的键:

objectMapping:
  ? name: spam
    path: egg
  : value: sausage
    message: spam

?启动一个复杂的键,:在同一级别启动相应的值。

如果您使用流样式,也可以使用内联键:

objectMapping:
  {name: spam, path: egg}:
    value: sausage
    message: spam

这两个 YAML 片段是等效的。请注意,内联键不能包含换行符。


推荐阅读