- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想解析 config.yaml 文件,但遇到了一些问题。
这是我的 JavaBean 代码
Oss.class:
import lombok.Data;
import java.util.List;
/**
* Created by Gavin
* on 2019/11/15 21:06
*/
@Data
public class Oss {
private String server;
private List<OssConfig> configList;
}
OssConfig.Class:
import lombok.Data;
/**
* Created by Gavin
* on 2019/11/16 9:32
*/
@Data
public class OssConfig {
private String endPoint;
private String accessKey;
private String accessKeySecret;
private String bucketName;
}
这是我的 yaml 文件
server: aliyun
configList:
-
endpoint: "http://oss-cn-hangzhou.aliyuncs1.com"
bucketName: "<yourBucketName>"
accessKeyId: "<yourAccessKeySecret>"
accessKeySecret: "<yourAccessSecret>"
-
endpoint: "http://oss-cn-hangzhou.aliyuncs2.com"
bucketName: "<yourBucketName>"
accessKeyId: "<yourAccessKeySecret>"
accessKeySecret: "<yourAccessSecret>"
-
endpoint: "http://oss-cn-hangzhou.aliyuncs3.com"
bucketName: "<yourBucketName>"
accessKeyId: "<yourAccessKeySecret>"
accessKeySecret: "<yourAccessSecret>"
测试代码:
import org.yaml.snakeyaml.TypeDescription;
import org.yaml.snakeyaml.Yaml;
import org.yaml.snakeyaml.constructor.Constructor;
/**
* Created by Gavin
* on 2019/11/16 9:05
*/
public class YamlTest {
public static void main(String[] args) {
Constructor constructor = new Constructor(Oss.class);
TypeDescription ossDescription = new TypeDescription(Oss.class);
ossDescription.putListPropertyType("configList",OssConfig.class);
constructor.addTypeDescription(ossDescription);
Yaml yaml = new Yaml(constructor);
Oss load = (Oss) yaml.load(YamlTest.class.getClassLoader().getResourceAsStream("config.yaml"));
System.out.println(load);
}
控制台打印:
Exception in thread "main" mapping values are not allowed here
in 'reader', line 2, column 13:
configList:
^
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:871)
at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:360)
at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:226)
at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:557)
at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:157)
at org.yaml.snakeyaml.parser.ParserImpl.checkEvent(ParserImpl.java:147)
at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:224)
at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:155)
at org.yaml.snakeyaml.composer.Composer.composeDocument(Composer.java:122)
at org.yaml.snakeyaml.composer.Composer.getSingleNode(Composer.java:105)
at org.yaml.snakeyaml.constructor.BaseConstructor.getSingleData(BaseConstructor.java:120)
at org.yaml.snakeyaml.Yaml.loadFromReader(Yaml.java:450)
at org.yaml.snakeyaml.Yaml.load(Yaml.java:381)
at com.lew.scott.screencapture.YamlTest.main(YamlTest.java:18)
Process finished with exit code 1
我读了snakeYaml文档,但我不知道为什么它不能工作?如果没有层级关系,会解决(但不是必须的,希望用户可以多写一些配置)
最佳答案
错误的yaml语法,猜猜你想要的是
server: aliyun
configList:
-
endpoint: "http://oss-cn-hangzhou.aliyuncs1.com"
bucketName: "<yourBucketName>"
accessKeyId: "<yourAccessKeySecret>"
accessKeySecret: "<yourAccessSecret>"
关于java - 如何通过java解析yaml文件(snakeYaml),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58887019/
我正在尝试使用 Java 中的 SnakeYaml 解析 YAML 文件,并且我正在努力让它通过 setter 构建我的模型对象。我从 SnakeYaml 文档中了解到,当您使用遵循 JavaBean
我正在尝试使用 snakeyaml 将下面的 YAML 反序列化到下面的域模型中,但是我不断收到 java.lang.ClassCastException: java.util.LinkedHashM
这是我的问题。我有包含以下对的 YAML 文档: run_ID: 2010_03_31_101 当这个 get 被解析时 org.yaml.snakeyaml.constructor.SafeCons
我在程序中有以下无法更改的类结构: class Node { public String name; } class Nodes { public List nodes; } cla
我想解析 config.yaml 文件,但遇到了一些问题。 这是我的 JavaBean 代码 Oss.class: import lombok.Data; import java.util.List;
据我所知,关于 yaml 命名约定的建议似乎是遵循软件约定,因此在我的例子中是 Java。 我收到了一个具有以下语法的 yaml 文件 PERSON: NAME: John Doe 除非我从一个人
我正在尝试使用snakeyaml在java中创建YAML文件,但我无法获取我需要的格式。使用 DumperOptions.FlowStyle.BLOCK 时,某些子项的格式正确,而使用默认 Dumpe
我正在使用 SnakeYAML 作为项目的 YAML 解析器,但我不知道如何设置嵌套的键。例如,这是一个包含嵌套键的 YAML 文件。 control: advertising: enab
我正在尝试使用 snakeyaml 将下面的 YAML 反序列化到下面的域模型中,但是我不断收到 java.lang.ClassCastException: java.util.LinkedHashM
当这是我的 .yml 文件时: test1: "string1" test2: test3: "string2" 如何获取test3的值? Map yamlFile = new Yaml().lo
我正在使用snakeYaml (snakeyaml-engine-2.1) 来序列化pojo。 Atm 序列化产生以下输出 name: "OuterYamlElementName" label: "O
在列表内部,我想多次引用同一个实例对象: - text: Here is an object with some data that will allow an image to be generat
我正在尝试从纯java字符串创建一个yaml文件。但是,我创建的 yaml 文件的初始行为: |2 yaml 文件的其余部分很好,但第一行非常有趣。我的 DumperOptions 如下; Dumpe
我一直在努力设置我的配置以使用 SnakeYAML。我希望我的配置如下所示: connection: bind-ip: 0.0.0.0 plugin-port: 2011 rt
我正在尝试使用 Groovy 和 Snakeyaml 解析以下 YAML 文件(显然我已经清理了数据,但这足以证明问题): --- info: summary: Snakeyaml Issue e
我想使用 SnakeYAML(或其他解析器)解析 Docker-compose.yml。我遇到的问题是属性可以是字符串或更复杂的对象,例如 configs ,支持“短”语法和“长”语法: 简短 ver
考虑以下代码: public void testDumpWriter() { Map data = new HashMap(); data.put("NAME1", "Raj"); data.put(
我使用以下方法将对象转换为 yaml 表示(例如,我可以打印到控制台) @Nonnull private String outputObject(@Nonnull final ObjectToPrin
我的意图是使用 jackson 获得像 JSON 中那样的多态集合,也许借助标签。 我似乎无法正确配置它。 我的 yaml 文件是: !person age: 27 job: dev name: me
本文整理了Java中org.yaml.snakeyaml.Yaml类的一些代码示例,展示了Yaml类的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一
我是一名优秀的程序员,十分优秀!