将Yaml文件转换为java对象

时间:2018-03-20 11:28:20

标签: java yaml

我有如下的Yaml文件

Network:
   Input 1:
      - profile : "1"
      - size: 2
   Input 2:
      - profile : "1"
      - size: 3
   Input 1:
      - profile :"2"
      - size:100
   Input 2:
      - name :"N"
      - source: "test"

并使用以下依赖项将其转换为类对象

import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;


ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
Tiles tiles = mapper.readValue(new File(args[0]), Tiles.class);

我的Tiles类如下所示

    public class Tiles {

      @JsonProperty
      private Network network;
      public Network getNetwork() {
        return network;
      }
      public void setNetwork(Network network) {
        this.network = network;
      }
      }
public class Network {

  public Network() {
    super();
  }

  @JsonProperty
  private List<String> input;

  public List<String> getInput() {
    return input;
  }

  public void setInput(List<String> input) {
    this.input= input;
  }

但是当我使用objectMapper解析yaml文件时会出现如下所示的问题

com.fasterxml.jackson.databind.JsonMappingException:

我想按顺序处理yaml文件,即使输入被不同的名称替换,我的意思是 我必须得到输入1然后输入2然后依次

感谢任何帮助。

提前致谢

1 个答案:

答案 0 :(得分:0)

@JsonProperty与来自共鸣的数据@JsonProperty("Network").

一起使用
@JsonProperty("Network")
private List<RoadNetwork> roadnetwork;
//getter and setter