SnakeYaml使用
新的项目中需要将yaml文件解析为对象,调研了决定使用snakeYaml,下面看一看怎么使用。
一、引入依赖
因为项目是使用maven构建的,所以我们在pom文件中引入snakeYaml的依赖,如下:
<dependency> <groupId>org.yaml</groupId> <artifactId>snakeyaml</artifactId> <version>1.21</version></dependency>
二,简单示例
public void testLoad() { String yamlStr = "key: hello yaml"; Yaml yaml = new Yaml(); Object ret = yaml.load(yamlStr); System.out.println(ret); }
(2)声明了一个yaml的字符串(当然也可以使用yaml文档等),定义了一个对象:key: hello yaml;
(3)使用Yaml对象的load方法加载一段yaml字符串,返回解析之后的对象,其实这个对象是一个Map:LinkedHashMap;
given : Chrisfamily : Dumarsaddress: - lines: 458 Walkman city : Royal Oak state : MI postal : 48046 - lines: 459 Walkman city : Royal Oak state : MI postal : 48046
public class Person { private String given; private String family; private List<Address> address; //省略getter和setter方法}
public class Address { private String lines; private String city; private String state; private Integer postal; //省略getter和setter方法}
public void parsePerson() { //指定yaml文件的root对象解析成Person类型 Yaml yaml = new Yaml(new Constructor(Person.class)); Person ret = (Person) yaml.load(this.getClass().getClassLoader() .getResourceAsStream("person.yaml")); Assert.assertNotNull(ret); Assert.assertEquals("MI", ret.getAddress().get(0).getState());}
转载于:https://www.cnblogs.com/junjiang3/p/9463039.html
SnakeYaml使用相关推荐
- snakeyaml读取yaml/yml配置文件数据
1.添加maven依赖 org.yaml.snakeyaml中的Yaml对象可以同时存储yml与yaml文件信息 <dependency><groupId>org.yaml&l ...
- 解决:SpringBoot 错误:Caused by: org.yaml.snakeyaml.scanner.ScannerException
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 错误: Caused by: org.yaml.snakeyaml.scanner.ScannerE ...
- pom.xml中解决Provides transitive vulnerable dependency maven:org.yaml:snakeyaml:1.33警告
警告出现 构建springboot3项目时,pom文件的spring-boot-starter-web依赖部分整体高亮, 显示Provides transitive vulnerable depend ...
- Provides transitive vulnerable dependency org.yaml:snakeyaml:1.33
一.错误介绍 新创建了一个springboot3的项目,弹出警告. <parent><groupId>org.springframework.boot</groupId& ...
- java snakeyaml_JAVA使用SnakeYAML解析与序列化YAML
1.概述 本文,我们将学习如何使用SnakeYAML库将 YAML文档转换为Java对象,以及JAVA对象如何序列化为YAML文档. 2.项目设置 要在项目中使用SnakeYAML,需要添加Maven ...
- snakeyaml 简介、中文文档、中英对照文档 下载
snakeyaml 文档 下载链接(含jar包.源码.pom) 组件名称 中文-文档-下载链接 中英对照-文档-下载链接 snakeyaml-1.12.jar snakeyaml-1.12-API文档 ...
- snakeyaml数字字符串显示单引号的问题
如题所示,一般yaml结构中,字符串直接显示没有单引号的字符串,如果字符串由数字组成,为了区别真正的数字,这个字符串会使用单引号包围起来. 数据结构如下: Map<String,Object&g ...
- SnakeYaml反序列化
声明 出品|先知社区(ID:dawntown) 以下内容,来自先知社区的dawntown作者原创,由于传播,利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人负责,长白山攻防实验室 ...
- 漏洞深度分析|CVE-2022-1471 SnakeYaml 命令执行漏洞
项目介绍 YAML是一种数据序列化格式,设计用于人类的可读性和与脚本语言的交互. SnakeYaml是一个完整的YAML1.1规范Processor,支持UTF-8/UTF-16,支持Java对象的序 ...
- 顺利解决org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException!
时隔上一篇博客的发布时间已经有将近1年的时间,感觉如果再不更新博客的话自己找个csdn博客就要生锈了!所以从这周开始,自己必须要逼自己每周至少发布1~2篇技术博客,欢迎大家对我保持积极监督! ...
最新文章
- 动态规划--用最少的硬币类别找零钱
- Python 技术篇-百度语音识别API接口调用演示
- 嵌入式培训学习历程第二十二天
- SharePoint 2007/2010 的SPGridView 控件常见的两个问题
- Java Set集合
- php7 参数类型限定,PHP 7.4 新功能一览之参数和返回类型改进
- 1601 - The Morning after Halloween
- VScode使用gitbash的配置方法
- 第7章 使用Spring MVC构建Web程序(一)
- Centos7 搭建 hadoop3.1.1 集群教程
- 冯氏集团于进博会发布报告,分析影响全球服装采购格局的五大因素
- Java进阶 - MyBatis查询数据库 Spring Boot 单元测试 - 细节狂魔
- Android简单制作自定义圆形头像
- WSL2 安装 CUDA(Win11)
- JavaScript学习笔记(6)变量
- 导入Excel至数据库中 外部表不是预期格式错误信息
- Web在线客服系统源码
- 左移 右移 逻辑右移 算术右移
- Cortex-M3/M4学习随笔——一些处理器基本信息
- 变频器按启动没反应_变频器常见故障及处理