SnakeYaml 嵌套Map写入格式 DumperOptions格式设置
SnakeYaml 嵌套Map写入格式
使用SnakeYaml 写入yaml时,默认格式为流式,可以通过DumperOptions修改为层级表示。
默认格式
导入包
import org.yaml.snakeyaml.Yaml;
import java.util.*;
设置一个用于测试的dataMap
Map<String, Object> dataMap = new LinkedHashMap<String, Object>();
dataMap.put("data", "data");
Map<String, Object> subMap = new LinkedHashMap<String, Object>();
subMap.put("name", "sub_map");
subMap.put("data", "data");
dataMap.put("sub_map", subMap);
List<String> subList = new ArrayList<String>();
subList.add("data");
subList.add("data");
subList.add("data");
dataMap.put("sub_list", subList);
写入yaml
try{Yaml yaml = new Yaml();// 保存yaml的位置String fileDir = "D:/test.yaml";FileWriter file_write = new FileWriter(fileDir);yaml.dump(dataMap, file_write);
}catch (Exception e) {e.printStackTrace();
}
先看一下json格式的dataMap
{"data": "data","sub_map": {"name": "sub_map","data": "data"},"sub_list": ["data","data","data"]
}
写入的yaml文件
data: data
sub_map: {name: sub_map, data: data}
sub_list: [data, data, data]
这边的yaml是流式的,不够美观。
设置区块表示
导入包
import org.yaml.snakeyaml.*;
import org.yaml.snakeyaml.DumperOptions.*;
写入yaml
try{// 设置dumperOptionsDumperOptions dumperOptions = new DumperOptions();// 修改为层级表示dumperOptions.setDefaultFlowStyle(FlowStyle.BLOCK);Yaml yaml = new Yaml(dumperOptions);String fileDir = "D:/test.yaml";FileWriter file_write = new FileWriter(fileDir);yaml.dump(dataMap, file_write);
}catch (Exception e) {e.printStackTrace();
}
设置格式后
data: data
sub_map:name: sub_mapdata: data
sub_list:
- data
- data
- data
其他DumperOptions设置
格式化
dumperOptions.setPrettyFlow(true);
data: data
sub_map: {name: sub_map,data: data
}
sub_list: [data,data,data]
开始与结束分隔符
dumperOptions.setExplicitStart(true);
dumperOptions.setExplicitEnd(true);
---
data: data
sub_map: {name: sub_map, data: data}
sub_list: [data, data, data]
...
显示类型
dumperOptions.setCanonical(true);
---
!!map {? !!str "data": !!str "data",? !!str "sub_map": !!map {? !!str "name": !!str "sub_map",? !!str "data": !!str "data",},? !!str "sub_list": !!seq [!!str "data",!!str "data",!!str "data",],
}
ScalarStyle
dumperOptions.setDefaultScalarStyle(ScalarStyle.LITERAL);
/*
"key": |-value
*/
dumperOptions.setDefaultScalarStyle(ScalarStyle.FOLDED);
/*
"key": >-value
*/
dumperOptions.setDefaultScalarStyle(ScalarStyle.DOUBLE_QUOTED);
/*
"key": "value"
*/
dumperOptions.setDefaultScalarStyle(ScalarStyle.SINGLE_QUOTED);
/*
'key': 'value'
*/
dumperOptions.setDefaultScalarStyle(ScalarStyle.PLAIN);
/*
key: value
*/
缩进
dumperOptions.setIndent(2);
SnakeYaml 嵌套Map写入格式 DumperOptions格式设置相关推荐
- python 写入excel数字格式,怎么在Python中写入Excel的格式
怎么在Python中写入Excel的格式 发布时间:2021-03-12 17:02:25 来源:亿速云 阅读:77 作者:Leah 这期内容当中小编将会给大家带来有关怎么在Python中写入Exce ...
- Json的list、map、对象对应格式
目录 list对应json格式 map对应的json格式 对象对应的json格式 list对应json格式 对应代码:List<String> list = new ArrayList&l ...
- aswing学习笔记3-在JPanel中,如何将.png格式的图片设置为背景?
在JPanel中,如何将.png格式的图片设置为背景? 2009-03-04 19:21 在JPanel中,如何将.png格式的图片设置为背景? 发表于 : 周三 6月 04, 2008 3:53 p ...
- jsonArray:JavaBean,List,Map转成json格式(轉+整理)
JSON与JAVA数据的转换 JavaBean,List,Map转成json格式 JS解析json数据(如何将json字符串转化为数组) 需要四個包: commons-beanutils-1.8.3. ...
- echarts map地图geojson/json格式的简单使用
** echarts地图简单使用方法 (geojson格式/json格式) ** 首先贴两个非常有用的地图网站 地图下载网站:http://datav.aliyun.com/tools/atlas/# ...
- Solidworks输出1:1图纸DWG格式文件参数设置
Solidworks输出1:1图纸DWG格式文件参数设置 在工程图中,工程图视图采用图纸比例模式下,输出1:1 点击菜单上的文件-另存为 选择dwg或者dxf格式 3.输出时比例激活设置选项 在左侧 ...
- Python自动化办公笔记(04)xlwriter写入和openpyxl格式套用
四.xlwriter写入和openpyxl格式套用 安装第三方库: pip install xlsxwriter pip install openpyxl xlsxwriter:即xlsx write ...
- cad转换成pdf格式之后如何设置其背景色为白色?
cad转换成pdf格式之后如何设置其背景色为白色?将cad图纸文件进行格式间的转换成为pdf的格式是CAD工作者们或者是设计师们经常会需要操作的事情,但是可能是不止将cad图纸文件进行转换成pdf格式 ...
- CAD转换成的PNG格式背景如何设置成白色?
CAD转换成的PNG格式背景如何设置成白色?PNG格式是图片中的格式之一,一般也会需要将CAD图纸文件进行转换成这种格式,需要借助到的是CAD版本转换器软件,具体应该怎么样进行操作,使用CAD版本转换 ...
- android名称框怎么取消,word文档格式在哪设置,word格式怎么设置
您可以在您的 Android 平板电脑. iPad 或 Windows 平板电脑上使用 Word,以选择和设置文本格式. 更改行距和段落间距. 更改缩进量,和添加列表.您还可以使用剪切. 复制. 粘贴 ...
最新文章
- JScript Array对象的几个原型方法
- 【软考之路】关于上周参加的软考的几点感想
- 2019牛客暑期多校训练营(第五场)
- dot-- 资源汇总
- 纳尼???我JVM优化过头了,直接把异常信息优化没了?怎么办
- MySQL MVCC 概述
- 帧中继更具体配置信息
- BLE4.0教程四 新增特征值(CC2541)
- python tree 库_Python——tree
- 视频教程-汇编语言程序设计VII-其他
- Facebook前身 哈佛大学“选美“网站核心算法 -- ELO等级分制度(附源码)
- 2014腾讯实习生招聘数组墙算法
- 投资中最简单的事--阅读笔记
- python上下对齐_python-docx设置表格对齐方式
- 安全研究 # Neural Network-based Graph Embedding for Cross-Platform Binary Code Similarity Detection
- 根轨迹起始角与终止角的确定
- win10去掉快捷方式小箭头(win10桌面快捷方式小箭头怎么去掉)
- 资深前端老司机到底牛逼在哪?
- VRay Next for SketchUp 泳池水材质制作教程
- 【Vue3从零开始-实战】S14:详情页回退事件及路由参数的传递获取数据