第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將 YAML 文件解析為 Java 類

如何將 YAML 文件解析為 Java 類

一只斗牛犬 2022-12-28 16:50:17
我有一個Recipe代表這個 YAML 塊的類:id: Ex1  uses:    - Database: ["D1", "D2"]    - MetaFeature: ["M1", "M2"]    - Algorithm: ["A1", "A2"]    - Config: ["C1", "C4"]public class Recipe {    private String id;    private HashMap<String, HashSet<String>> uses;}有沒有辦法在不創(chuàng)建其他類或做一些技巧的情況下將這個 YAML 解析為 Recipe 類?
查看完整描述

1 回答

?
富國滬深

TA貢獻(xiàn)1790條經(jīng)驗 獲得超9個贊

首先,您必須將 SnakeYML 作為依賴項包含在 maven pom.xml 中。我在下面提供了 snakeyml 的 Maven 依賴項。


<dependency>

    <groupId>org.yaml</groupId>

    <artifactId>snakeyaml</artifactId>

    <version>1.21</version>

</dependency>

如果您不使用 Maven,則可以從以下鏈接下載 jar 文件。 http://central.maven.org/maven2/org/yaml/snakeyaml/1.21/snakeyaml-1.21.jar


我修改了你的 yml 文件位以使其工作。在下面找到 yml 文件的結(jié)構(gòu)。


id: Ex1

uses:

  Database: ["D1", "D2"]

  MetaFeature: ["M1", "M2"]

  Algorithm: ["A1", "A2"]

  Config: ["C1", "C4"]

讓我為您提供有效的代碼。


import java.util.HashMap;

import java.util.HashSet;


public class Recipe {

  private String id;

  private HashMap<String, HashSet<String>> uses;


  public String getId() {

    return id;

  }


  public void setId(String id) {

    this.id = id;

  }


  public HashMap<String, HashSet<String>> getUses() {

    return uses;

  }


  public void setUses(HashMap<String, HashSet<String>> uses) {

    this.uses = uses;

  }


  @Override

  public String toString() {

    return "Recipe{" + "id='" + id + '\'' + ", uses=" + uses + '}';

  }

}

根據(jù)您的 Recipe 類測試代碼。


import org.yaml.snakeyaml.Yaml;


import java.io.File;

import java.io.FileInputStream;

import java.io.InputStream;

import java.util.Map;


public class TestYml {

  public static void main(String[] args) throws Exception {

    Yaml yaml = new Yaml();

    InputStream inputStream =

        new FileInputStream("your location\\yml-file-name.yml");


    Recipe recipe = yaml.loadAs(inputStream,Recipe.class);

    System.out.println("recipe = " + recipe);

  }

}


查看完整回答
反對 回復(fù) 2022-12-28
  • 1 回答
  • 0 關(guān)注
  • 210 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號