folder:
name: folderA
files:
- name: fileA
folders:
- name: ?
files:
- name: fileB
我在Java中使用了yaml,我在Eclipse中遇到- name: fileA
的错误。是否存在一种方式,我可以使用'?'在yaml文件中?
答案 0 :(得分:0)
YAML映射的键值对中的键在“未删节”YAML中由问号引入。这允许在没有前瞻的情况下进行解析(对于密钥后面的:
)并且有时需要复杂的密钥(即不仅仅是单个字符串标量),或者如果你想要一个长度超过1024个字符的密钥,那么是:
的{{3}}。
您的解析器会看到“?
”,需要一个密钥,但会遇到需要密钥的换行符。
没有解析器解析特殊字符(除了?
,&
,*
和其他一些)的正常解决方案是用单引号或双引号引用它们:
folder:
name: folderA
files:
- name: fileA
folders:
- name: '?'
files:
- name: fileB
你可以像你一样幸运地编写文件。如果您将问号放在自己的行上:
folders:
- name:
?
files:
- name: fileB
然后键name
的值将是从null到null的映射,就像你写的那样:
folders:
- name:
null: null
files:
- name: fileB
你可能没有那么容易注意到你所得到的错误,那不是你想要的。