如何解决错误:无法读取输入对象不是模板?:将YAML转换为JSON时发生错误:yaml:在此上下文中不允许映射值
此错误是什么意思?是由于缩进造成的吗?有什么方法可以自动对齐yaml文件
我尝试通过对齐等方式修复它,但是它没有用,并且我的詹金斯构建失败了。
.container {
position: relative;
text-align: center;
color: white;
display: flex;
}
.l3 {
width: 100%
}
.l1 {
position: absolute;
top: 100px;
left: 2;
}
.l2 {
position: absolute;
top: 100px;
right: 8px;
}
.centered {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
解决方法
以下是无效的YAML(在两个项目中均无效):
- name: SPLUNK_LOG_TOKEN
valueFrom:
这是因为valueFrom
比name
更缩进。因此,YAML认为valueFrom
是标量SPLUNK_LOG_TOKEN
的延续。但是,后面跟随:
,以结束隐式映射键。而且在多行标量上下文中禁止使用隐式映射键,因此会出现错误。
有什么方法可以自动对齐yaml文件
YAML中的缩进是语义的一部分(就像Python中一样)。您基本上是在问是否可以猜测严重缩进的文件的预期语义。尽管从理论上讲这不是不可能的(我的意思是,您可以在StackOverflow上针对YAML语法问题训练神经网络;我已经无数次看到此特定问题了),但我认为不存在一种随时可用的解决方案
您的问题的可能解决方案是
- name: SPLUNK_LOG_TOKEN
valueFrom:
但是,我不能百分百确定。也许您宁愿做类似的事情
- name:
id: SPLUNK_LOG_TOKEN
valueFrom:
如果valueFrom
应该是name
的子代。
突出显示的是无效的yaml模式。
- name: SPLUNK_LOG_TOKEN
- name: SPLUNK_LOG_URL
。
应该是这样
- name:
name: SPLUNK_LOG_TOKEN
valueFrom:
secretKeyRef:
name: splunk-secret
key: splunk.token
- name:
name: SPLUNK_LOG_URL
valueFrom:
configMapKeyRef:
name: splunk-config
key: splunk.url
如果您是像我这样的JSON爱好者,那么您可以尝试此在线转换器https://www.json2yaml.com/convert-yaml-to-json
当我不熟悉yaml时,我曾经编写较小的JSON数据块,并使用在线https://www.json2yaml.com/convert-yaml-to-json将其转换为YAML格式。 网上也有其他工具可用,但是从个人经验来看,我更喜欢这样做。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。