YAML的Java實現——JYAML基本原理與示例(1)匯出資料為YAML格式檔案
1. Overview
JYAML是YAML的Java實現,YAML的全稱是YAML Ain't Markup Language,是否定遞迴定義,和LINUX的Linux Is Not UniX是一個意思。其結構之簡單,常常成為匯出或匯入配置檔案、資料結構等應用場景的常用API。
2. Download
http://jyaml.sourceforge.net/index.html
3. Basic Types
YAML包括Sequence和Map兩種基本資料格式。對於Sequence,其每一項會以“-”開頭。對於Map的每一項,key與value之間是用“:"來連線的。從屬關係則用空格來表示。這基本上就是YAML的全部語法了。
4. Sample Code
(1)Data
package com.sinosuperman.yaml;
public class Person {
private String name;
private int age;
private Person spouse;
private Person[] children;
public Person(){
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void setSpouse(Person spouse) {
this.spouse = spouse;
}
public void setChildren(Person[] children) {
this.children = children;
}
public String getName() {
return this.name;
}
public int getAge() {
return this.age;
}
public Person getSpouse() {
return this.spouse;
}
public Person[] getChildren() {
return this.children;
}
}
(2)Export Data(Dump Data to a YAML file)
package com.sinosuperman.yaml;
import java.io.File;
import java.io.FileNotFoundException;
import org.ho.yaml.Yaml;
public class TestYaml {
public static void main(String[] args) {
/* Initialize data. */
Person michael = new Person();
Person floveria = new Person();
Person[] children = new Person[2];
children[0] = new Person();
children[1] = new Person();
michael.setName("Michael Corleone");
michael.setAge(24);
floveria.setName("Floveria Edie");
floveria.setAge(24);
children[0].setName("boy");
children[0].setAge(3);
children[1].setName("girl");
children[1].setAge(1);
michael.setSpouse(floveria);
floveria.setSpouse(michael);
michael.setChildren(children);
floveria.setChildren(children);
/* Export data to a YAML file. */
File dumpFile = new File("conf/testYaml.yaml");
try {
Yaml.dump(michael, dumpFile);
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
(3)YAML file
--- &0 !com.sinosuperman.yaml.Person
age: 24
children: &2 !com.sinosuperman.yaml.Person[]
- !com.sinosuperman.yaml.Person
age: 3
name: boy
- !com.sinosuperman.yaml.Person
age: 1
name: girl
name: Michael Corleone
spouse: !com.sinosuperman.yaml.Person
age: 24
children: *2
name: Floveria Edie
spouse: *0
5. 快去試試吧~
相關文章
- YAML的Java實現——JYAML基本原理與示例(2)匯入YAML格式檔案YAMLJava
- YAML的Java實現——JYAML基本原理與示例(3)YAML對檔案流的處理YAMLJava
- YAML檔案語法及示例YAML
- YApi 匯入 Swagger YAML 格式資料APISwaggerYAML
- java解析yaml配置檔案JavaYAML
- YAML檔案YAML
- 使用yaml檔案讀取資料YAML
- YAML檔案簡介YAML
- RAILS中利用YAML檔案完成資料對接AIYAML
- kubernetes實戰篇之helm示例yaml檔案檔案詳細介紹YAML
- c++ 解析yaml檔案C++YAML
- Java實現CSV檔案的匯出Java
- 【SpringBoot】YAML 配置檔案Spring BootYAML
- deployment.yaml 檔案解讀YAML
- 探索多種資料格式:JSON、YAML、XML、CSV等資料格式詳解與比較JSONYAMLXML
- Spring YAML與屬性檔案配置檔案對比 | BaeldungSpringYAML
- Go 語言解析 yaml 檔案的方法GoYAML
- springboot專案中yaml檔案Spring BootYAML
- ansible playbook實踐(三)-yaml檔案寫法YAML
- 入門Kubernetes - YAML檔案YAML
- python pyyaml操作yaml配置檔案PythonYAML
- Go 語言處理 yaml 檔案GoYAML
- 使用Kubesec檢查YAML檔案安全YAML
- 匯出資料為csv格式
- yaml 檔案裡的中文,以 json 格式請求抓包為什麼是 unicodeYAMLJSONUnicode
- .yaml引數檔案的編寫和使用YAML
- python讀取yaml配置檔案的方法PythonYAML
- yaml (YAML Ain't Markup Language)YAMLAI
- 一次將資料匯出為 CSV 格式檔案時遇到的坑
- Go讀取yaml檔案到struct類GoYAMLStruct
- 簡化 Kubernetes Yaml 檔案建立YAML
- 只需要一份Yaml檔案,即可實現UI自動化YAMLUI
- java程式碼實現excel檔案資料匯入JavaExcel
- MySQL 匯出資料為csv格式的方法MySql
- 如何在YAML中為POJO中Map配置資料? | BaeldungYAMLPOJO
- 3Ds Max檔案匯出為Mesh格式檔案-OGRE3D
- Yaml檔案語法及讀寫小結YAML
- yaml檔案中在哪加名稱空間?YAML