Java:
การทำงานกับ YAML
วิธีการ:
ใน Java, คุณสามารถทำงานกับไฟล์ YAML โดยใช้ไลบรารี่ของบุคคลที่สาม เนื่องจาก Java Standard Edition ไม่รวมการสนับสนุน YAML มาให้ ไลบรารีที่ได้รับความนิยมหนึ่งคือ SnakeYAML ซึ่งอนุญาตให้ทำการแยกวิเคราะห์และสร้างข้อมูล YAML ได้อย่างง่ายดาย
การตั้งค่า SnakeYAML
เริ่มต้นด้วยการรวม SnakeYAML เข้ากับโปรเจ็กต์ของคุณ หากคุณใช้ Maven, เพิ่มการอ้างอิงต่อไปนี้ลงใน pom.xml
ของคุณ:
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>1.30</version>
</dependency>
การอ่าน YAML
import org.yaml.snakeyaml.Yaml;
import java.io.InputStream;
import java.util.Map;
public class ReadYamlExample {
public static void main(String[] args) {
Yaml yaml = new Yaml();
try (InputStream inputStream = ReadYamlExample.class
.getClassLoader()
.getResourceAsStream("config.yml")) {
Map<String, Object> data = yaml.load(inputStream);
System.out.println(data);
} catch (Exception e) {
e.printStackTrace();
}
}
}
โดยสมมติไฟล์ config.yml
ดูเหมือนดังนี้:
name: Example
version: 1.0
features:
- login
- signup
ผลลัพธ์จะเป็น:
{name=Example, version=1.0, features=[login, signup]}
การเขียน YAML
ในการสร้าง YAML จากอ็อบเจกต์ Java, ใช้เมธอด dump
ที่ SnakeYAML ให้มา:
import org.yaml.snakeyaml.Yaml;
import java.util.Arrays;
import java.util.LinkedHashMap;
import java.util.Map;
public class WriteYamlExample {
public static void main(String[] args) {
Map<String, Object> data = new LinkedHashMap<>();
data.put("name", "Example");
data.put("version", 1.0);
data.put("features", Arrays.asList("login", "signup"));
Yaml yaml = new Yaml();
String output = yaml.dump(data);
System.out.println(output);
}
}
สิ่งนี้จะสร้างและพิมพ์เนื้อหา YAML ต่อไปนี้:
name: Example
version: 1.0
features:
- login
- signup
โดยการใช้ประโยชน์จาก SnakeYAML, นักพัฒนา Java สามารถรวมการทำงานแยกวิเคราะห์และสร้าง YAML เข้ากับแอพพลิเคชันของตนได้อย่างง่ายดาย โดยได้รับประโยชน์จากความสามารถอ่านได้และความเรียบง่ายของ YAML สำหรับวัตถุประสงค์ในการกำหนดค่าและการแลกเปลี่ยนข้อมูล